123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- // Dlg_Main.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "StoneU_HC_CARDOCX.h"
- #include "Dlg_Main.h"
- #include "Global.h"
- #include ".\dlg_main.h"
- // CDlg_Main 对话框
- IMPLEMENT_DYNAMIC(CDlg_Main, CDialog)
- CDlg_Main::CDlg_Main(CWnd* pParent /*=NULL*/)
- : CDialog(CDlg_Main::IDD, pParent)
- {
- m_pMonitor = NULL;
- m_pPlayBack = NULL;
- m_pSettings = NULL;
- m_nShowIndex = -1;
- }
- CDlg_Main::~CDlg_Main()
- {
- delete m_pMonitor;
- delete m_pPlayBack;
- delete m_pSettings;
- }
- void CDlg_Main::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_TAB1, m_Tab_Item);
- DDX_Control(pDX, IDC_BTN_MONITER, m_Btn_Moniter);
- DDX_Control(pDX, IDC_BTN_PLAYBACK, m_Btn_PlayBack);
- DDX_Control(pDX, IDC_BTN_SETTINGS, m_Btn_Settings);
- }
- BEGIN_MESSAGE_MAP(CDlg_Main, CDialog)
- ON_BN_CLICKED(IDC_BTN_MONITER, OnBnClickedBtnMoniter)
- ON_BN_CLICKED(IDC_BTN_PLAYBACK, OnBnClickedBtnPlayback)
- ON_BN_CLICKED(IDC_BTN_SETTINGS, OnBnClickedBtnSettings)
- ON_WM_CTLCOLOR()
- ON_WM_ERASEBKGND()
- END_MESSAGE_MAP()
- // CDlg_Main 消息处理程序
- BOOL CDlg_Main::OnInitDialog()
- {
- CDialog::OnInitDialog();
- m_Btn_Moniter.SetIcon(IDI_MONITER);
- m_Btn_Moniter.DrawBorder(FALSE);
- m_Btn_Moniter.SetColor(CButtonST::BTNST_COLOR_NOTCHOOSE, g_Color1);
- m_Btn_Moniter.SetColor(CButtonST::BTNST_COLOR_CHOOSE, g_Color2);
- m_Btn_Moniter.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_Btn_Moniter.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color2);
- m_Btn_PlayBack.SetIcon(IDI_PlayBack);
- m_Btn_PlayBack.DrawBorder(FALSE);
- m_Btn_PlayBack.SetColor(CButtonST::BTNST_COLOR_NOTCHOOSE, g_Color1);
- m_Btn_PlayBack.SetColor(CButtonST::BTNST_COLOR_CHOOSE, g_Color2);
- m_Btn_PlayBack.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_Btn_PlayBack.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color2);
- m_Btn_Settings.SetIcon(IDI_SETTINGS);
- m_Btn_Settings.DrawBorder(FALSE);
- m_Btn_Settings.SetColor(CButtonST::BTNST_COLOR_NOTCHOOSE, g_Color1);
- m_Btn_Settings.SetColor(CButtonST::BTNST_COLOR_CHOOSE, g_Color2);
- m_Btn_Settings.SetColor(CButtonST::BTNST_COLOR_BK_IN, g_Color2);
- m_Btn_Settings.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, g_Color2);
- this->MoveWindow( 0,0,g_nFrameWeight,g_nFrameHeight );
- SetCtrlPos();
- InitChildWindow();
- OnBnClickedBtnMoniter();
- // TODO: 在此添加额外的初始化設置
- //m_Tab_Item.AddPage("视频监控", &Dlg_VedioMonitor, IDD_HKVISION_DIALOG);
- //m_Tab_Item.AddPage("视频回放", &Dlg_VedioBackPlay, IDD_PLAYER_DIALOG);
- //m_Tab_Item.AddPage("参数设置", &Dlg_Settings, IDD_DLG_SETTINGS);
- ////
- //m_Tab_Item.Show();
- //m_Tab_Item.SetCurSel(1);
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回 FALSE
- }
- void CDlg_Main::SetCtrlPos()
- {
- CRect rMain;
- this->GetWindowRect( rMain );
- ScreenToClient( &rMain );
- CRect rect;
- int nBtnW=0,nBtnH=60;
- int nSpace=10;
- nBtnW = 200;
- rect.left = nSpace;
- rect.right = rect.left+nBtnW;
- rect.top = nSpace;
- rect.bottom = rect.top+nBtnH;
- m_Btn_Moniter.MoveWindow( rect );
- rect.left = rect.right+nSpace;
- rect.right = rect.left+nBtnW;
- rect.top = nSpace;
- rect.bottom = rect.top+nBtnH;
- m_Btn_PlayBack.MoveWindow( rect );
- rect.left = rect.right+nSpace;
- rect.right = rect.left+nBtnW;
- rect.top = nSpace;
- rect.bottom = rect.top+nBtnH;
- m_Btn_Settings.MoveWindow( rect );
- GetDlgItem(IDC_TAB1)->MoveWindow( 10,rect.bottom+20,rMain.right-20,rMain.bottom-100 );
- }
- void CDlg_Main::InitChildWindow(void)
- {
- CRect rect;
- GetDlgItem( IDC_TAB1 )->GetWindowRect( rect );
- ScreenToClient( &rect );
- m_pMonitor = new CHKVisionDlg;
- m_pMonitor->Create(IDD_HKVISION_DIALOG,this);
- m_pMonitor->SetCtrlPos( rect );
- m_pMonitor->ShowWindow(SW_HIDE);
- m_pPlayBack = new CPlayerDlg;
- m_pPlayBack->Create(IDD_PLAYER_DIALOG, this);
- //m_pPlayBack->SetCtrlPos( rect );
- m_pPlayBack->ShowWindow(SW_HIDE);
- m_pSettings = new CDlg_Settings;
- m_pSettings->Create(IDD_DLG_SETTINGS, this);
- m_pSettings->SetCtrlPos( rect );
- m_pSettings->ShowWindow(SW_HIDE);
- }
- void CDlg_Main::HighAllDlg()
- {
- m_Btn_Moniter.m_nIsChoose = -1;
- m_Btn_PlayBack.m_nIsChoose = -1;
- m_Btn_Settings.m_nIsChoose = -1;
- m_pMonitor->ShowWindow(SW_HIDE);
- m_pPlayBack->ShowWindow(SW_HIDE);
- m_pSettings->ShowWindow(SW_HIDE);
-
- CRect rect;
- GetWindowRect(&rect);
- ScreenToClient(&rect);
- rect.bottom = 80;
- InvalidateRect(rect);
- }
- void CDlg_Main::InitMoniterRect()
- {
- HighAllDlg();
- CRect rc(0,0,0,0);
- GetDlgItem(IDC_TAB1)->GetWindowRect( rc );
- ScreenToClient( &rc );
- m_pMonitor->MoveWindow(&rc,TRUE);
- m_pMonitor->ShowWindow(SW_SHOW);
- }
- void CDlg_Main::InitPlayBackRect()
- {
- HighAllDlg();
- CRect rc(0,0,0,0);
- GetDlgItem(IDC_TAB1)->GetWindowRect( rc );
- ScreenToClient( &rc );
- m_pPlayBack->MoveWindow(&rc,TRUE);
- m_pPlayBack->ShowWindow(SW_SHOW);
- }
- void CDlg_Main::InitSettingsRect()
- {
- HighAllDlg();
- CRect rc(0,0,0,0);
- GetDlgItem(IDC_TAB1)->GetWindowRect( rc );
- ScreenToClient( &rc );
- m_pSettings->MoveWindow(&rc,TRUE);
- m_pSettings->ShowWindow(SW_SHOW);
- }
- void CDlg_Main::OnBnClickedBtnMoniter()
- {
- if( m_nShowIndex==0 )
- return;
-
- m_nShowIndex = 0;
- InitMoniterRect();
- m_Btn_Moniter.m_nIsChoose = 1;
- }
- void CDlg_Main::OnBnClickedBtnPlayback()
- {
- if( m_nShowIndex==1 )
- return;
-
- m_nShowIndex = 1;
- InitPlayBackRect();
- m_Btn_PlayBack.m_nIsChoose = 1;
- }
- void CDlg_Main::OnBnClickedBtnSettings()
- {
- if( m_nShowIndex==2 )
- return;
-
- m_nShowIndex = 2;
- InitSettingsRect();
- m_Btn_Settings.m_nIsChoose = 1;
- }
- HBRUSH CDlg_Main::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- // TODO: 在此更改 DC 的任何属性
- // TODO: 如果默认的不是所需画笔,则返回另一个画笔
- return hbr;
- }
- BOOL CDlg_Main::OnEraseBkgnd(CDC* pDC)
- {
- CBrush br1,br2;
- CRect rect, rect2;
- GetWindowRect(&rect);
- ScreenToClient(&rect);
- br1.CreateSolidBrush(g_Color1);
- br2.CreateSolidBrush(g_Color2);
- pDC->FillRect(rect,&br2);
- rect.bottom = 80;
- pDC->FillRect(rect,&br1);
- CRect rc;
- switch( m_nShowIndex )
- {
- case 0:
- m_Btn_Moniter.GetWindowRect( rc );ScreenToClient( &rc );
- rc.InflateRect( 10,10,0,20 );
- pDC->FillRect(rc,&br2);
- break;
- case 1:
- m_Btn_PlayBack.GetWindowRect( rc );ScreenToClient( &rc );
- rc.InflateRect( 0,10,0,20 );
- pDC->FillRect(rc,&br2);
- break;
- case 2:
- m_Btn_Settings.GetWindowRect( rc );ScreenToClient( &rc );
- rc.InflateRect( 0,10,0,20 );
- pDC->FillRect(rc,&br2);
- break;
- }
-
-
- DeleteObject( br1 );
- DeleteObject( br2 );
-
- return TRUE;
- //return CDialog::OnEraseBkgnd(pDC);
- }
|