// Dlg_Frame.cpp : 实现文件 // #include "stdafx.h" #include "StoneU_HW_OCX.h" #include "Dlg_Frame.h" #include ".\dlg_frame.h" #include "Dlg_PlayBack.h" #include "Dlg_SystemCfg.h" #include "Global.h" #include "mdlProject.h" // CDlg_Frame 对话框 COLORREF g_Color1=RGB( 32,41,46 );//RGB( 59,61,63 );// COLORREF g_Color2=RGB( 162,154,33 );//59,61,63 );//RGB(0xD1,0xE1,0xF8);//RGB( 162,154,33 );// COLORREF g_Color3=RGB( 255,255,255 ); void CALLBACK ReadDataCallBack(DWORD nPort,UCHAR *pPacketBuffer,DWORD nPacketSize) { TRACE("%d\n",nPacketSize); } IMPLEMENT_DYNAMIC(CDlg_Frame, CDialog) CDlg_Frame::CDlg_Frame(CWnd* pParent /*=NULL*/) : CDialog(CDlg_Frame::IDD, pParent) { m_nOCXIndex = 0; WINDOWNUM = 9; m_nVedioIndex = -1; } CDlg_Frame::~CDlg_Frame() { } void CDlg_Frame::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_STA_VIDEO1, m_hVideo[0]); DDX_Control(pDX, IDC_STA_VIDEO2, m_hVideo[1]); DDX_Control(pDX, IDC_STA_VIDEO3, m_hVideo[2]); DDX_Control(pDX, IDC_STA_VIDEO4, m_hVideo[3]); DDX_Control(pDX, IDC_STA_VIDEO5, m_hVideo[4]); DDX_Control(pDX, IDC_STA_VIDEO6, m_hVideo[5]); DDX_Control(pDX, IDC_STA_VIDEO7, m_hVideo[6]); DDX_Control(pDX, IDC_STA_VIDEO8, m_hVideo[7]); DDX_Control(pDX, IDC_STA_VIDEO9, m_hVideo[8]); DDX_Control(pDX, IDC_STA_VIDEO10, m_hVideo[9]); DDX_Control(pDX, IDC_STA_VIDEO11, m_hVideo[10]); DDX_Control(pDX, IDC_STA_VIDEO12, m_hVideo[11]); DDX_Control(pDX, IDC_STA_VIDEO13, m_hVideo[12]); DDX_Control(pDX, IDC_STA_VIDEO14, m_hVideo[13]); DDX_Control(pDX, IDC_STA_VIDEO15, m_hVideo[14]); DDX_Control(pDX, IDC_STA_VIDEO16, m_hVideo[15]); DDX_Control(pDX, IDC_STA_VIDEO17, m_hVideo[16]); DDX_Control(pDX, IDC_STA_VIDEO18, m_hVideo[17]); DDX_Control(pDX, IDC_STA_VIDEO19, m_hVideo[18]); DDX_Control(pDX, IDC_STA_VIDEO20, m_hVideo[19]); DDX_Control(pDX, IDC_STA_VIDEO21, m_hVideo[20]); DDX_Control(pDX, IDC_STA_VIDEO22, m_hVideo[21]); DDX_Control(pDX, IDC_STA_VIDEO23, m_hVideo[22]); DDX_Control(pDX, IDC_STA_VIDEO24, m_hVideo[23]); DDX_Control(pDX, IDC_STA_VIDEO25, m_hVideo[24]); DDX_Control(pDX, IDC_STA_VIDEO26, m_hVideo[25]); DDX_Control(pDX, IDC_STA_VIDEO27, m_hVideo[26]); DDX_Control(pDX, IDC_STA_VIDEO28, m_hVideo[27]); DDX_Control(pDX, IDC_STA_VIDEO29, m_hVideo[28]); DDX_Control(pDX, IDC_STA_VIDEO30, m_hVideo[29]); DDX_Control(pDX, IDC_STA_VIDEO31, m_hVideo[30]); DDX_Control(pDX, IDC_STA_VIDEO32, m_hVideo[31]); DDX_Control(pDX, IDC_STA_VIDEO33, m_hVideo[32]); DDX_Control(pDX, IDC_STA_VIDEO34, m_hVideo[33]); DDX_Control(pDX, IDC_STA_VIDEO35, m_hVideo[34]); DDX_Control(pDX, IDC_STA_VIDEO36, m_hVideo[35]); DDX_Control(pDX, IDC_STA_VIDEO37, m_hVideo[36]); DDX_Control(pDX, IDC_STA_VIDEO38, m_hVideo[37]); DDX_Control(pDX, IDC_STA_VIDEO39, m_hVideo[38]); DDX_Control(pDX, IDC_STA_VIDEO40, m_hVideo[39]); DDX_Control(pDX, IDC_STA_VIDEO41, m_hVideo[40]); DDX_Control(pDX, IDC_STA_VIDEO42, m_hVideo[41]); DDX_Control(pDX, IDC_STA_VIDEO43, m_hVideo[42]); DDX_Control(pDX, IDC_STA_VIDEO44, m_hVideo[43]); DDX_Control(pDX, IDC_STA_VIDEO45, m_hVideo[44]); DDX_Control(pDX, IDC_STA_VIDEO46, m_hVideo[45]); DDX_Control(pDX, IDC_STA_VIDEO47, m_hVideo[46]); DDX_Control(pDX, IDC_STA_VIDEO48, m_hVideo[47]); DDX_Control(pDX, IDC_STA_VIDEO49, m_hVideo[48]); DDX_Control(pDX, IDC_STA_VIDEO50, m_hVideo[49]); DDX_Control(pDX, IDC_STA_VIDEO51, m_hVideo[50]); DDX_Control(pDX, IDC_STA_VIDEO52, m_hVideo[51]); DDX_Control(pDX, IDC_STA_VIDEO53, m_hVideo[52]); DDX_Control(pDX, IDC_STA_VIDEO54, m_hVideo[53]); DDX_Control(pDX, IDC_STA_VIDEO55, m_hVideo[54]); DDX_Control(pDX, IDC_STA_VIDEO56, m_hVideo[55]); DDX_Control(pDX, IDC_STA_VIDEO57, m_hVideo[56]); DDX_Control(pDX, IDC_STA_VIDEO58, m_hVideo[57]); DDX_Control(pDX, IDC_STA_VIDEO59, m_hVideo[58]); DDX_Control(pDX, IDC_STA_VIDEO60, m_hVideo[59]); DDX_Control(pDX, IDC_STA_VIDEO61, m_hVideo[60]); DDX_Control(pDX, IDC_STA_VIDEO62, m_hVideo[61]); DDX_Control(pDX, IDC_STA_VIDEO63, m_hVideo[62]); DDX_Control(pDX, IDC_STA_VIDEO64, m_hVideo[63]); } BEGIN_MESSAGE_MAP(CDlg_Frame, CDialog) ON_WM_PAINT() ON_WM_LBUTTONDOWN() ON_WM_LBUTTONUP() ON_BN_CLICKED(IDC_PLAY, OnBnClickedPlay) ON_BN_CLICKED(IDC_GETPICTURE, OnBnClickedGetpicture) ON_BN_CLICKED(IDC_SYSTEMCFG, OnBnClickedSystemcfg) ON_BN_CLICKED(IDC_VIDEOFILEPLAY, OnBnClickedVideofileplay) ON_WM_CTLCOLOR() ON_WM_ERASEBKGND() ON_WM_LBUTTONDBLCLK() END_MESSAGE_MAP() // CDlg_Frame 消息处理程序 BOOL CDlg_Frame::OnInitDialog() { CDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 CRect rc( 0,0,g_nFrameWeight,g_nFrameHeight ); this->MoveWindow( rc ); SetPos(); DealRect(); //////////////////////////////////////////////////////////////////////////////////// CString csFile; UpdateData(TRUE); MP4_ClientSetShowMode(NORMALMODE,0); int itemp = 1; char ips[256]; sprintf(ips,"%s","192.168.1.247"); m_ClientVideo[0].m_bRemoteChannel = 0; m_ClientVideo[0].m_sIPAddress = ips; m_ClientVideo[0].m_hShowVideo = m_hVideo[0]; m_ClientVideo[0].m_bSendMode = TCPMODE; m_ClientVideo[0].m_nImgFormat = 0; // request CIF format m_ClientVideo[0].m_sUserName = "123"; m_ClientVideo[0].m_sUserPassword="w"; m_ClientVideo[0].m_bUserCheck = TRUE; MP4_ClientSetTTL(64); m_hHandle[0] = MP4_ClientStart(&m_ClientVideo[0],ReadDataCallBack); if( m_hHandle[0]==-1 ) { MessageBox("error"); } return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void CDlg_Frame::Resoure() { MP4_ClientStop( m_hHandle[0] ); } void CDlg_Frame::SetPos() { CRect rMain; this->GetWindowRect( rMain ); ScreenToClient( &rMain ); int W=0,H=0; CRect rcSta2; GetDlgItem(IDC_STATIC2)->GetWindowRect( rcSta2 ); W = rcSta2.Width(); H = rcSta2.Height(); rcSta2.right = rMain.right-10; rcSta2.left = rcSta2.right-W ; rcSta2.top = rMain.top+10; rcSta2.bottom = rcSta2.top+H; GetDlgItem(IDC_STATIC2)->MoveWindow( rcSta2 ); CRect rcGrid1; GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rcGrid1 ); W = rcGrid1.Width(); H = rcGrid1.Height(); rcGrid1.left = rcSta2.left+7 ; rcGrid1.right = rcGrid1.left+W; rcGrid1.top = rcSta2.top+13; rcGrid1.bottom = rcGrid1.top+H; GetDlgItem(IDC_STA_GRID1)->MoveWindow( rcGrid1 ); CRect rcGrid2; rcGrid2.left = rcGrid1.right+2 ; rcGrid2.right = rcGrid2.left+W; rcGrid2.top = rcGrid1.top; rcGrid2.bottom = rcGrid1.bottom; GetDlgItem(IDC_STA_GRID2)->MoveWindow( rcGrid2 ); CRect rcGrid3; rcGrid3.left = rcGrid2.right+2 ; rcGrid3.right = rcGrid3.left+W; rcGrid3.top = rcGrid2.top; rcGrid3.bottom = rcGrid2.bottom; GetDlgItem(IDC_STA_GRID3)->MoveWindow( rcGrid3 ); CRect rcGrid4; rcGrid4.left = rcSta2.left+7 ; rcGrid4.right = rcGrid4.left+W; rcGrid4.top = rcGrid1.bottom+2; rcGrid4.bottom = rcGrid4.top+H; GetDlgItem(IDC_STA_GRID4)->MoveWindow( rcGrid4 ); CRect rcGrid5; rcGrid5.left = rcGrid4.right+2 ; rcGrid5.right = rcGrid5.left+W; rcGrid5.top = rcGrid4.top; rcGrid5.bottom = rcGrid4.bottom; GetDlgItem(IDC_STA_GRID5)->MoveWindow( rcGrid5 ); CRect rcGrid6; rcGrid6.left = rcGrid5.right+2 ; rcGrid6.right = rcGrid6.left+W; rcGrid6.top = rcGrid4.top; rcGrid6.bottom = rcGrid4.bottom; GetDlgItem(IDC_STA_GRID6)->MoveWindow( rcGrid6 ); //////////////////// CRect rcSta17; GetDlgItem(IDC_STATIC17)->GetWindowRect( rcSta17 ); W = rcSta17.Width(); H = rcSta17.Height(); rcSta17.right = rcSta2.right; rcSta17.left = rcSta2.left ; rcSta17.top = rcSta2.bottom+20; rcSta17.bottom = rcSta17.top+H; GetDlgItem(IDC_STATIC17)->MoveWindow( rcSta17 ); CRect rcBtnPlay; GetDlgItem(IDC_PLAY)->GetWindowRect( rcBtnPlay ); W = rcBtnPlay.Width(); H = rcBtnPlay.Height(); rcBtnPlay.left = rcSta17.left+3 ; rcBtnPlay.right = rcSta17.right-3; rcBtnPlay.top = rcSta17.top+10; rcBtnPlay.bottom = rcBtnPlay.top+H; GetDlgItem(IDC_PLAY)->MoveWindow( rcBtnPlay ); CRect rcBtnGetPic; rcBtnGetPic.left = rcSta17.left+3 ; rcBtnGetPic.right = rcSta17.right-3; rcBtnGetPic.top = rcBtnPlay.bottom+2; rcBtnGetPic.bottom = rcBtnGetPic.top+H; GetDlgItem(IDC_GETPICTURE)->MoveWindow( rcBtnGetPic ); CRect rcBtnSet; rcBtnSet.left = rcSta17.left+3 ; rcBtnSet.right = rcSta17.right-3; rcBtnSet.top = rcBtnGetPic.bottom+2; rcBtnSet.bottom = rcBtnSet.top+H; GetDlgItem(IDC_SYSTEMCFG)->MoveWindow( rcBtnSet ); CRect rcBtnPlayBack; rcBtnPlayBack.left = rcSta17.left+3 ; rcBtnPlayBack.right = rcSta17.right-3; rcBtnPlayBack.top = rcBtnSet.bottom+2; rcBtnPlayBack.bottom = rcBtnPlayBack.top+H; GetDlgItem(IDC_VIDEOFILEPLAY)->MoveWindow( rcBtnPlayBack ); //////////////// CRect rcSta4; GetDlgItem(IDC_STATIC4)->GetWindowRect( rcSta4 ); W = rcSta4.Width(); H = rcSta4.Height(); rcSta4.right = rcSta2.right; rcSta4.left = rcSta2.left ; rcSta4.top = rcSta17.bottom+20; rcSta4.bottom = rcSta4.top+H; GetDlgItem(IDC_STATIC4)->MoveWindow( rcSta4 ); CRect rcBtnUp; GetDlgItem(IDC_BUTTONUP)->GetWindowRect( rcBtnUp ); W = rcBtnUp.Width(); H = rcBtnUp.Height(); rcBtnUp.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcBtnUp.right = rcBtnUp.left+W; rcBtnUp.top = rcSta4.top+15; rcBtnUp.bottom = rcBtnUp.top+H; GetDlgItem(IDC_BUTTONUP)->MoveWindow( rcBtnUp ); CRect rcSta5; GetDlgItem(IDC_STATIC5)->GetWindowRect( rcSta5 ); W = rcSta5.Width(); H = rcSta5.Height(); rcSta5.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcSta5.right = rcBtnUp.left+W; rcSta5.top = rcBtnUp.bottom+5; rcSta5.bottom = rcSta5.top+H; GetDlgItem(IDC_STATIC5)->MoveWindow( rcSta5 ); CRect rcBtnDown; GetDlgItem(IDC_BUTTONDOWN)->GetWindowRect( rcBtnDown ); W = rcBtnDown.Width(); H = rcBtnDown.Height(); rcBtnDown.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcBtnDown.right = rcBtnDown.left+W; rcBtnDown.top = rcSta5.bottom+5; rcBtnDown.bottom = rcBtnDown.top+H; GetDlgItem(IDC_BUTTONDOWN)->MoveWindow( rcBtnDown ); CRect rcBtnLeft; GetDlgItem(IDC_BUTTONLEFT)->GetWindowRect( rcBtnLeft ); W = rcBtnLeft.Width(); H = rcBtnLeft.Height(); rcBtnLeft.right = rcSta5.left-10; rcBtnLeft.left = rcBtnLeft.right-W; rcBtnLeft.top = rcSta5.top+0; rcBtnLeft.bottom = rcBtnLeft.top+H; GetDlgItem(IDC_BUTTONLEFT)->MoveWindow( rcBtnLeft ); CRect rcBtnRight; GetDlgItem(IDC_BUTTONRIGHT)->GetWindowRect( rcBtnRight ); W = rcBtnRight.Width(); H = rcBtnRight.Height(); rcBtnRight.left = rcSta5.right+10; rcBtnRight.right = rcBtnRight.left+W; rcBtnRight.top = rcSta5.top+0; rcBtnRight.bottom = rcBtnLeft.top+H; GetDlgItem(IDC_BUTTONRIGHT)->MoveWindow( rcBtnRight ); CRect rcSta6; GetDlgItem(IDC_STATIC6)->GetWindowRect( rcSta6 ); W = rcSta6.Width(); H = rcSta6.Height(); rcSta6.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcSta6.right = rcSta6.left+W; rcSta6.top = rcBtnDown.bottom+20; rcSta6.bottom = rcSta6.top+H; GetDlgItem(IDC_STATIC6)->MoveWindow( rcSta6 ); CRect rcBtnJLLeft; GetDlgItem(IDC_BUTTONTJLEFT)->GetWindowRect( rcBtnJLLeft ); W = rcBtnJLLeft.Width(); H = rcBtnJLLeft.Height(); rcBtnJLLeft.right = rcSta6.left-10; rcBtnJLLeft.left = rcBtnJLLeft.right-W; rcBtnJLLeft.top = rcSta6.top; rcBtnJLLeft.bottom = rcBtnJLLeft.top+H; GetDlgItem(IDC_BUTTONTJLEFT)->MoveWindow( rcBtnJLLeft ); CRect rcBtnJLRight; GetDlgItem(IDC_BUTTONTJRIGHT)->GetWindowRect( rcBtnJLRight ); W = rcBtnJLRight.Width(); H = rcBtnJLRight.Height(); rcBtnJLRight.left = rcSta6.right+10; rcBtnJLRight.right = rcBtnJLRight.left+W; rcBtnJLRight.top = rcSta6.top; rcBtnJLRight.bottom = rcBtnJLRight.top+H; GetDlgItem(IDC_BUTTONTJRIGHT)->MoveWindow( rcBtnJLRight ); CRect rcSta7; GetDlgItem(IDC_STATIC7)->GetWindowRect( rcSta7 ); W = rcSta7.Width(); H = rcSta7.Height(); rcSta7.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcSta7.right = rcSta7.left+W; rcSta7.top = rcSta6.bottom+10; rcSta7.bottom = rcSta7.top+H; GetDlgItem(IDC_STATIC7)->MoveWindow( rcSta7 ); CRect rcBtnOJJLeft; GetDlgItem(IDC_BUTTONJJLEFT)->GetWindowRect( rcBtnOJJLeft ); W = rcBtnOJJLeft.Width(); H = rcBtnOJJLeft.Height(); rcBtnOJJLeft.right = rcSta7.left-10; rcBtnOJJLeft.left = rcBtnOJJLeft.right-W; rcBtnOJJLeft.top = rcSta7.top; rcBtnOJJLeft.bottom = rcBtnOJJLeft.top+H; GetDlgItem(IDC_BUTTONJJLEFT)->MoveWindow( rcBtnOJJLeft ); CRect rcBtnJJRight; GetDlgItem(IDC_BUTTONJJRIGHT)->GetWindowRect( rcBtnJJRight ); W = rcBtnJJRight.Width(); H = rcBtnJJRight.Height(); rcBtnJJRight.left = rcSta7.right+10; rcBtnJJRight.right = rcBtnJJRight.left+W; rcBtnJJRight.top = rcSta7.top; rcBtnJJRight.bottom = rcBtnJJRight.top+H; GetDlgItem(IDC_BUTTONJJRIGHT)->MoveWindow( rcBtnJJRight ); CRect rcSta8; GetDlgItem(IDC_STATIC8)->GetWindowRect( rcSta8 ); W = rcSta8.Width(); H = rcSta8.Height(); rcSta8.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcSta8.right = rcSta8.left+W; rcSta8.top = rcSta7.bottom+10; rcSta8.bottom = rcSta8.top+H; GetDlgItem(IDC_STATIC8)->MoveWindow( rcSta8 ); CRect rcBtnOGQLeft; GetDlgItem(IDC_BUTTONGQLEFT)->GetWindowRect( rcBtnOGQLeft ); W = rcBtnOGQLeft.Width(); H = rcBtnOGQLeft.Height(); rcBtnOGQLeft.right = rcSta8.left-10; rcBtnOGQLeft.left = rcBtnOGQLeft.right-W; rcBtnOGQLeft.top = rcSta8.top; rcBtnOGQLeft.bottom = rcBtnOGQLeft.top+H; GetDlgItem(IDC_BUTTONGQLEFT)->MoveWindow( rcBtnOGQLeft ); CRect rcBtnGQRight; GetDlgItem(IDC_BUTTONGQRIGHT)->GetWindowRect( rcBtnGQRight ); W = rcBtnGQRight.Width(); H = rcBtnGQRight.Height(); rcBtnGQRight.left = rcSta8.right+10; rcBtnGQRight.right = rcBtnGQRight.left+W; rcBtnGQRight.top = rcSta8.top; rcBtnGQRight.bottom = rcBtnGQRight.top+H; GetDlgItem(IDC_BUTTONGQRIGHT)->MoveWindow( rcBtnGQRight ); CRect rcEditYZD; GetDlgItem(IDC_YZD)->GetWindowRect( rcEditYZD ); W = rcEditYZD.Width(); H = rcEditYZD.Height(); rcEditYZD.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcEditYZD.right = rcEditYZD.left+W; rcEditYZD.top = rcBtnGQRight.bottom+20; rcEditYZD.bottom = rcEditYZD.top+H; GetDlgItem(IDC_YZD)->MoveWindow( rcEditYZD ); CRect rcBtnYZW; GetDlgItem(IDC_BUTTONYZW)->GetWindowRect( rcBtnYZW ); W = rcBtnYZW.Width(); H = rcBtnYZW.Height(); rcBtnYZW.left = rcSta4.left+rcSta4.Width()/2-W/2 ; rcBtnYZW.right = rcBtnYZW.left+W; rcBtnYZW.top = rcEditYZD.bottom+3; rcBtnYZW.bottom = rcBtnYZW.top+H; GetDlgItem(IDC_BUTTONYZW)->MoveWindow( rcBtnYZW ); CRect rcStaShow; rcStaShow.left = 10; rcStaShow.right = rcSta2.left-5;; rcStaShow.top = 0; rcStaShow.bottom = rMain.bottom-0; GetDlgItem(IDC_VEDIO_SHOW)->MoveWindow( rcStaShow ); } void CDlg_Frame::ShowGrid() { CClientDC dc(this); HICON hIcon; CRect rc1,rc2,rc3,rc4,rc5,rc6,rc7; GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rc1 );ScreenToClient( &rc1 ); GetDlgItem(IDC_STA_GRID2)->GetWindowRect( rc2 );ScreenToClient( &rc2 ); GetDlgItem(IDC_STA_GRID3)->GetWindowRect( rc3 );ScreenToClient( &rc3 ); GetDlgItem(IDC_STA_GRID4)->GetWindowRect( rc4 );ScreenToClient( &rc4 ); GetDlgItem(IDC_STA_GRID5)->GetWindowRect( rc5 );ScreenToClient( &rc5 ); GetDlgItem(IDC_STA_GRID6)->GetWindowRect( rc6 );ScreenToClient( &rc6 ); //GetDlgItem(IDC_STA_GRID7)->GetWindowRect( rc7 );ScreenToClient( &rc7 ); if( WINDOWNUM==1 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID1_ON); dc.DrawIcon(rc1.left,rc1.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID1_OFF); dc.DrawIcon(rc1.left,rc1.top,hIcon); } if( WINDOWNUM==4 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID4_ON); dc.DrawIcon(rc2.left,rc2.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID4_OFF); dc.DrawIcon(rc2.left,rc2.top,hIcon); } if( WINDOWNUM==9 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID9_ON); dc.DrawIcon(rc3.left,rc3.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID9_OFF); dc.DrawIcon(rc3.left,rc3.top,hIcon); } if( WINDOWNUM==16 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID16_ON); dc.DrawIcon(rc4.left,rc4.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID16_OFF); dc.DrawIcon(rc4.left,rc4.top,hIcon); } if( WINDOWNUM==36 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID32_ON); dc.DrawIcon(rc5.left,rc5.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID32_OFF); dc.DrawIcon(rc5.left,rc5.top,hIcon); } if( WINDOWNUM==64 ) { hIcon = AfxGetApp()->LoadIcon(IDI_GRID64_ON); dc.DrawIcon(rc6.left,rc6.top,hIcon); } else { hIcon = AfxGetApp()->LoadIcon(IDI_GRID64_OFF); dc.DrawIcon(rc6.left,rc6.top,hIcon); } //if( WINDOWNUM==128 ) //{ // hIcon = AfxGetApp()->LoadIcon(IDI_GRID128_ON); // dc.DrawIcon(rc7.left,rc7.top,hIcon); //} //else //{ // hIcon = AfxGetApp()->LoadIcon(IDI_GRID128_OFF); // dc.DrawIcon(rc7.left,rc7.top,hIcon); //} } void CDlg_Frame::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CDialog::OnPaint() ShowGrid(); DrawRect(); } void CDlg_Frame::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CDialog::OnLButtonDown(nFlags, point); } void CDlg_Frame::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 WORD wndnum=0; CRect rc1,rc2,rc3,rc4,rc5,rc6,rc7; GetDlgItem(IDC_STA_GRID1)->GetWindowRect( rc1 );ScreenToClient( &rc1 ); GetDlgItem(IDC_STA_GRID2)->GetWindowRect( rc2 );ScreenToClient( &rc2 ); GetDlgItem(IDC_STA_GRID3)->GetWindowRect( rc3 );ScreenToClient( &rc3 ); GetDlgItem(IDC_STA_GRID4)->GetWindowRect( rc4 );ScreenToClient( &rc4 ); GetDlgItem(IDC_STA_GRID5)->GetWindowRect( rc5 );ScreenToClient( &rc5 ); GetDlgItem(IDC_STA_GRID6)->GetWindowRect( rc6 );ScreenToClient( &rc6 ); //GetDlgItem(IDC_STA_GRID7)->GetWindowRect( rc7 );ScreenToClient( &rc7 ); bool bIn = false; if( rc1.PtInRect( point ) ) { wndnum = 1; bIn = true; } if( rc2.PtInRect( point ) ) { wndnum = 4; bIn = true; } if( rc3.PtInRect( point ) ) { wndnum = 9; bIn = true; } if( rc4.PtInRect( point ) ) { wndnum = 16; bIn = true; } if( rc5.PtInRect( point ) ) { wndnum = 36; bIn = true; } if( rc6.PtInRect( point ) ) { wndnum = 64; bIn = true; } //if( rc7.PtInRect( point ) ) //{ // wndnum = 128; bIn = true; //} if( bIn && WINDOWNUM != wndnum) { m_nVedioIndex = -1; WINDOWNUM = wndnum; /*if(m_ClientParam.m_bCycling) { MessageBox("请停止循环播放!", "温馨提示", MB_ICONINFORMATION); return; } if(m_ClientParam.m_bPlaying) { TRACE("Stop Play"); F_StopPlay(); OnVideonetplay(); } ArrayWindow(0, WINDOWNUM); MoveCurWin(WINDOWNUM,0);*/ ShowGrid(); } DealRect(); CRect rect; GetDlgItem( IDC_VEDIO_SHOW )->GetWindowRect( rect ); ScreenToClient( rect ); InvalidateRect( rect ); CDialog::OnLButtonUp(nFlags, point); } void CDlg_Frame::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CRect rect; GetDlgItem( IDC_VEDIO_SHOW )->GetWindowRect( rect ); ScreenToClient( rect ); if( m_nVedioIndex==-1 ) { m_Rect_DClick = rect; int W=0,H=0; int nRow=0,nCol=0; switch( WINDOWNUM ) { case 1: nRow = nCol = 1; break; case 4: nRow = nCol = 2; break; case 9: nRow = nCol = 3; break; case 16: nRow = nCol = 4; break; case 36: nRow = nCol = 6; break; case 64: nRow = nCol = 8; break; } for( int i=0;iGetWindowRect( rect ); ScreenToClient( rect ); int nRow=0,nCol=0; switch( WINDOWNUM ) { case 1: nRow = nCol = 1; break; case 4: nRow = nCol = 2; break; case 9: nRow = nCol = 3; break; case 16: nRow = nCol = 4; break; case 36: nRow = nCol = 6; break; case 64: nRow = nCol = 8; break; } int W=0,H=0; int W1 = rect.Width()%nRow; int H1 = rect.Height()%nCol; int W2 = rect.Width()/nRow; int H2 = rect.Height()/nCol; for( int i=0;iGetWindowRect( rect ); ScreenToClient( rect ); if( m_nVedioIndex!=-1 ) { } else { CClientDC dc(this); CPen pen; pen.CreatePen(PS_SOLID,1,RGB(80,80,80)); dc.SelectObject(pen); int W=0,H=0; int nRow=0,nCol=0; switch( WINDOWNUM ) { case 1: nRow = nCol = 1; break; case 4: nRow = nCol = 2; break; case 9: nRow = nCol = 3; break; case 16: nRow = nCol = 4; break; case 36: nRow = nCol = 6; break; case 64: nRow = nCol = 8; break; } for( int i=1;iSetBkColor( g_Color1 ); pDC->SetTextColor(RGB(255,255,255)); return B; } DeleteObject( B ); // TODO: 如果默认的不是所需画笔,则返回另一个画笔 return hbr; } BOOL CDlg_Frame::OnEraseBkgnd(CDC* pDC) { #if 0 CRect rc; this->GetClientRect(&rc); //ScreenToClient(&rc); pDC->StretchBlt(rc.left, rc.top, rc.Width(),rc.Height(),&m_dcMemBak, 0,0,m_bmInfoBak.bmWidth-1,m_bmInfoBak.bmHeight-1,SRCCOPY); #else CBrush brush; CRect rect; COLORREF rgbBackGnd = g_Color1;//RGB( 0,0,0 ); //RGB( 59,61,63 ); // GetWindowRect(&rect); ScreenToClient(&rect); brush.CreateSolidBrush(rgbBackGnd); pDC->FillRect(rect,&brush); ///////////////////////////// CRect rc1,rc2,rc3,rc4; CBrush br1; br1.CreateSolidBrush( RGB(0,0,0) ); int W=0,H=0; GetDlgItem(IDC_STATIC2)->GetWindowRect( rc1 ); ScreenToClient( &rc1 ); GetDlgItem(IDC_STATIC17)->GetWindowRect( rc2 ); ScreenToClient( &rc2 ); GetDlgItem(IDC_STATIC4)->GetWindowRect( rc3 ); ScreenToClient( &rc3 ); GetDlgItem(IDC_VEDIO_SHOW)->GetWindowRect( rc4 ); ScreenToClient( &rc4 ); rect.left = rc4.right-0; rect.right = rc1.right+10; rect.top = rc1.bottom; rect.bottom = rc2.top; pDC->FillRect(rect,&br1); rect.left = rc4.right-0; rect.right = rc1.right+10; rect.top = rc2.bottom; rect.bottom = rc3.top; pDC->FillRect(rect,&br1); DeleteObject( brush ); DeleteObject( br1 ); #endif return TRUE; //return CDialog::OnEraseBkgnd(pDC); }