📄 configpage4.cpp
字号:
// ConfigPage4.cpp : implementation file
//
#include "stdafx.h"
#include "dvsuser.h"
#include "ConfigPage4.h"
#include "DvsUserDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CDvsUserDlg* g_User;
/////////////////////////////////////////////////////////////////////////////
// CConfigPage4 property page
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
IMPLEMENT_DYNCREATE(CConfigPage4, CPropertyPage)
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
CConfigPage4::CConfigPage4() : CPropertyPage(CConfigPage4::IDD)
{
//{{AFX_DATA_INIT(CConfigPage4)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_hAlertOn = AfxGetApp()->LoadIcon(IDI_ICON_ALERTON);
m_hAlertOff = AfxGetApp()->LoadIcon(IDI_ICON_ALERTOFF);
m_hVideo = AfxGetApp()->LoadIcon(IDI_ICON_MON);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
CConfigPage4::~CConfigPage4()
{
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CConfigPage4)
DDX_Control(pDX, IDC_VIDEO_STATIC, m_staticVideo);
DDX_Control(pDX, IDC_VIDEO_SLIDER, m_sliderVideo);
DDX_Control(pDX, IDC_VIEW_COMBO, m_comboVideo);
DDX_Control(pDX, IDC_ENDCOMBO, m_comboEnd);
DDX_Control(pDX, IDC_TIMECOMBO, m_comboTime);
DDX_Control(pDX, IDC_STARTCOMBO, m_comboStart);
DDX_Control(pDX, IDC_ICON_STATIC, m_staticBmp);
//}}AFX_DATA_MAP
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
BEGIN_MESSAGE_MAP(CConfigPage4, CPropertyPage)
//{{AFX_MSG_MAP(CConfigPage4)
ON_BN_CLICKED(IDC_ALERT_ON, OnAlertOn)
ON_BN_CLICKED(IDC_ALERT_OFF, OnAlertOff)
ON_BN_CLICKED(IDC_BTN_SETALERT, OnBtnSetalert)
ON_BN_CLICKED(IDC_BTN_RECYCLE, OnBtnRecycle)
ON_WM_PAINT()
ON_CBN_SELCHANGE(IDC_VIEW_COMBO, OnSelchangeViewCombo)
ON_WM_HSCROLL()
ON_BN_CLICKED(IDC_BTN_VIDEO, OnBtnVideo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
BOOL CALLBACK CConfigPage4::EnumControlProc(HWND h, LPARAM l)
{
if(l == TRUE)
{
::EnableWindow(h, TRUE);
}
else{//l != TRUE
::EnableWindow(h, FALSE);
}
return TRUE;
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CConfigPage4::EnableControl(BOOL bEnable)
{
::EnumChildWindows(this->m_hWnd, (WNDENUMPROC)EnumControlProc, bEnable);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////
// CConfigPage4 message handlers
BOOL CConfigPage4::OnInitDialog()
{
CPropertyPage::OnInitDialog();
InitControl();
SetControl();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CConfigPage4::InitControl()
{
if(g_User->CLIENT.dwUserPriority == 4)
{
EnableControl(TRUE);
}
else{//g_User->CLIENT.dwUserPriority < 4
EnableControl(FALSE);
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CConfigPage4::SetControl()
{
m_comboStart.SetCurSel(g_User->m_dwStartBrance);
m_comboEnd.SetCurSel(g_User->m_dwStopBrance-1);
m_comboTime.SetCurSel((g_User->m_dwRecycleTime/5)-1);
if(g_User->m_bSetAlert == TRUE)
{
((CButton*)GetDlgItem(IDC_ALERT_OFF))->SetCheck(0);
((CButton*)GetDlgItem(IDC_ALERT_ON))->SetCheck(1);
}
else{//g_User->m_bSetAlert == FALSE
((CButton*)GetDlgItem(IDC_ALERT_OFF))->SetCheck(1);
((CButton*)GetDlgItem(IDC_ALERT_ON))->SetCheck(0);
}
COMBOBOXEXITEM item;
char szTemp[100];
INT nAdd = 0;
videoImage.Create(16, 16, ILC_COLOR8, 1, 1);
videoImage.Add(m_hVideo);
m_comboVideo.SetImageList(&videoImage);
for(int i=0; i<4; i++)
{
if(g_User->LINK[i].bLinkState == TRUE)
{
sprintf(szTemp, "%s", g_User->CARD[g_User->LINK[i].dwCard].Brance[g_User->LINK[i].dwBrance].szBranceName);
item.mask = CBEIF_IMAGE|CBEIF_SELECTEDIMAGE|CBEIF_TEXT|CBEIF_LPARAM;
item.iItem = nAdd;
item.iImage = 0;
item.iSelectedImage = 0;
item.lParam = NULL;
item.pszText = szTemp;
m_comboVideo.InsertItem(&item);
m_comboVideo.SetItemData(nAdd, i);
nAdd ++;
}
}
m_sliderVideo.SetRange(0, 5);
m_staticVideo.SetWindowText(_TEXT("1Mb/s"));
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnAlertOn()
{
CDC* pDC = NULL;
RECT rc;
pDC = m_staticBmp.GetDC();
if(pDC)
{
pDC->DrawIcon(0, 0, m_hAlertOn);
m_staticBmp.ReleaseDC(pDC);
m_staticBmp.GetClientRect(&rc);
m_staticBmp.ValidateRect(&rc);
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnAlertOff()
{
CDC* pDC = NULL;
RECT rc;
pDC = m_staticBmp.GetDC();
if(pDC)
{
pDC->DrawIcon(0, 0, m_hAlertOff);
m_staticBmp.ReleaseDC(pDC);
m_staticBmp.GetClientRect(&rc);
m_staticBmp.ValidateRect(&rc);
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnBtnSetalert()
{
INT nState;
nState = ((CButton*)GetDlgItem(IDC_ALERT_ON))->GetCheck();
g_User->m_bSetAlert = nState;
/*发送是否布防*/
g_User->OnSendPlaceDefeat(g_User->m_bSetAlert);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnBtnRecycle()
{
DWORD dwStart;
DWORD dwStop;
DWORD dwTime;
dwStart = m_comboStart.GetCurSel();
dwStop = (m_comboEnd.GetCurSel()+1);
dwTime = (m_comboTime.GetCurSel()+1)*5;
if(dwStart >= dwStop)
{
MessageBox(_TEXT("设置错误,<开始的支路>大于或是等于<结束的支路>!"), _TEXT("设置"), 0|MB_ICONINFORMATION);
return;
}
g_User->m_dwStartBrance = dwStart;
g_User->m_dwStopBrance = dwStop;
g_User->m_dwRecycleTime = dwTime;
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnPaint()
{
CPaintDC dc(this); // device context for painting
if(g_User->m_bSetAlert == TRUE)
{
OnAlertOn();
}
else{//g_User->m_bSetAlert == FALSE
OnAlertOff();
}
// Do not call CPropertyPage::OnPaint() for painting messages
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
VOID CConfigPage4::SetStaticText(INT idx)
{
switch (idx) {
case 0:
m_staticVideo.SetWindowText("1Mb/s");
break;
case 1:
m_staticVideo.SetWindowText("500Kb/s");
break;
case 2:
m_staticVideo.SetWindowText("250Kb/s");
break;
case 3:
m_staticVideo.SetWindowText("125Kb/s");
break;
case 4:
m_staticVideo.SetWindowText("62Kb/s");
break;
case 5:
m_staticVideo.SetWindowText("30Kb/s");
break;
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnSelchangeViewCombo()
{
int nSel;
int nData;
nSel = m_comboVideo.GetCurSel();
if(nSel != CB_ERR)
{
nData = m_comboVideo.GetItemData(nSel);
SetStaticText(g_User->LINK[nData].dwVideoRate);
m_sliderVideo.SetPos(g_User->LINK[nData].dwVideoRate);
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
LONG lPos = m_sliderVideo.GetPos();
SetStaticText(lPos);
CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
void CConfigPage4::OnBtnVideo()
{
int nSel;
int nData;
LONG lPos;
CString strCardIP;
nSel = m_comboVideo.GetCurSel();
if(nSel != CB_ERR)
{
nData = m_comboVideo.GetItemData(nSel);
lPos = m_sliderVideo.GetPos();
g_User->LINK[nData].dwVideoRate = lPos;
/*设置码流*/
INITINFO myInit;
ZeroMemory(&myInit, sizeof(INITINFO));
myInit.dwBmpSize = g_User->LINK[nData].dwVideoRate;
strCardIP = g_User->CARD[g_User->LINK[nData].dwCard].szCardIP;
myInit.dwColor = ::SetGUID(strCardIP);
g_User->OnSendVideoRate(&myInit);
}
}
//--------------------------------------------------------------------
//
//
//
//--------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -