📄 fourwaydlg.cpp
字号:
// FourwayDlg.cpp : implementation file
//
#include "stdafx.h"
#include "multicard.h"
#include "FourwayDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
static int g_cam[4] = {0, 1, 2, 3};
/////////////////////////////////////////////////////////////////////////////
// CFourwayDlg dialog
CFourwayDlg::CFourwayDlg(int iCardID, CWnd* pParent /*=NULL*/)
: CDialog(CFourwayDlg::IDD, pParent),
m_iCardID(iCardID)
{
//{{AFX_DATA_INIT(CFourwayDlg)
m_cam = 0;
m_way = 0;
m_bri = 0;
m_con = 0;
m_hue = 0;
m_sta = 0;
//}}AFX_DATA_INIT
}
void CFourwayDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFourwayDlg)
DDX_Radio(pDX, IDC_CAM_RADIO1, m_cam);
DDX_Radio(pDX, IDC_WAY_RADIO1, m_way);
DDX_Slider(pDX, IDC_FW_SLIDER_BRI, m_bri);
DDX_Slider(pDX, IDC_FW_SLIDER_CON, m_con);
DDX_Slider(pDX, IDC_FW_SLIDER_HUE, m_hue);
DDX_Slider(pDX, IDC_FW_SLIDER_STA, m_sta);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFourwayDlg, CDialog)
//{{AFX_MSG_MAP(CFourwayDlg)
ON_WM_HSCROLL()
ON_BN_CLICKED(IDC_FW_BTN_DEFAULT, OnBtnDefault)
//}}AFX_MSG_MAP
ON_CONTROL_RANGE(BN_CLICKED, IDC_WAY_RADIO1, IDC_WAY_RADIO4, OnWayChanged)
ON_CONTROL_RANGE(BN_CLICKED, IDC_CAM_RADIO1, IDC_CAM_NONE, OnCamChanged)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFourwayDlg message handlers
BOOL CFourwayDlg::OnInitDialog()
{
CDialog::OnInitDialog();
HRESULT hr;
long source;
char szCaption[100];
//Caption
sprintf(szCaption, "%d号卡:调节四路卡的特性", m_iCardID);
SetWindowText(szCaption);
//Way
hr = DSStream_WhatInPinRouteToOutPin(m_iCardID, 0, &source);
if(SUCCEEDED(hr) && source>=0 && source<=4)
{
if(source==4)
{
for(int i=0; i<4; i++)
GetDlgItem(IDC_WAY_RADIO1+i)->EnableWindow();
m_way = 0;
}
else
{
GetDlgItem(IDC_WAY_RADIO1+source)->EnableWindow();
m_way = source;
}
}
UpdateData(FALSE);
GetDlgItem(IDC_WAY_RADIO1+m_way)->SetFocus();
m_cam = g_cam[m_way];
OnWayChanged(m_way);
return FALSE;
}
void CFourwayDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
UpdateData(TRUE);
int pos = ((CSliderCtrl*)pScrollBar)->GetPos();
if(pScrollBar->m_hWnd == GetDlgItem(IDC_FW_SLIDER_BRI)->m_hWnd)
{
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Brightness, pos);
SetDlgItemInt(IDC_FW_TEXT_BRI, pos, FALSE);
}
else if(pScrollBar->m_hWnd == GetDlgItem(IDC_FW_SLIDER_CON)->m_hWnd)
{
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Contrast, pos);
SetDlgItemInt(IDC_FW_TEXT_CON, pos, FALSE);
}
else if(pScrollBar->m_hWnd == GetDlgItem(IDC_FW_SLIDER_HUE)->m_hWnd)
{
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Hue, pos);
SetDlgItemInt(IDC_FW_TEXT_HUE, pos, FALSE);
}
else if(pScrollBar->m_hWnd == GetDlgItem(IDC_FW_SLIDER_STA)->m_hWnd)
{
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Saturation, pos);
SetDlgItemInt(IDC_FW_TEXT_STA, pos, FALSE);
}
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CFourwayDlg::OnWayChanged( UINT nID )
{
UpdateData();
//Cam
m_cam = g_cam[m_way];
HRESULT hr;
//Value
((CSliderCtrl*)GetDlgItem(IDC_FW_SLIDER_BRI))->SetRange(0, 10000);
hr = DSStream_GetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Brightness, (long*)&m_bri);
if(SUCCEEDED(hr))
SetDlgItemInt(IDC_FW_TEXT_BRI, m_bri, FALSE);
((CSliderCtrl*)GetDlgItem(IDC_FW_SLIDER_CON))->SetRange(0, 10000);
hr = DSStream_GetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Contrast, (long*)&m_con);
if(SUCCEEDED(hr))
SetDlgItemInt(IDC_FW_TEXT_CON, m_con, FALSE);
((CSliderCtrl*)GetDlgItem(IDC_FW_SLIDER_HUE))->SetRange(0, 10000);
hr = DSStream_GetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Hue, (long*)&m_hue);
if(SUCCEEDED(hr))
SetDlgItemInt(IDC_FW_TEXT_HUE, m_hue, FALSE);
((CSliderCtrl*)GetDlgItem(IDC_FW_SLIDER_STA))->SetRange(0, 10000);
hr = DSStream_GetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Saturation, (long*)&m_sta);
if(SUCCEEDED(hr))
SetDlgItemInt(IDC_FW_TEXT_STA, m_sta, FALSE);
UpdateData(FALSE);
}
void CFourwayDlg::OnCamChanged( UINT nID )
{
UpdateData();
HRESULT hr = DSStream_ChooseCamera_Ex(m_iCardID, m_way, m_cam);
if(SUCCEEDED(hr))
{
g_cam[m_way] = m_cam;
}
else
{
m_cam = g_cam[m_way];
UpdateData(FALSE);
MessageBox("矩阵调节失败!");
}
}
void CFourwayDlg::OnBtnDefault()
{
UpdateData();
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Brightness, 5000);
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Contrast, 5000);
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Hue, 5000);
DSStream_SetVideoPropertyValue_Ex(m_iCardID, m_way, VideoProperty_Saturation, 5000);
OnWayChanged(m_way);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -