LRESULT CPictureSettingDlg::OnLvnItemchangedChannellist(int /*idCtrl*/, LPNMHDR pNMHDR, BOOL& /*bHandled*/) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); if (pNMLV->uNewState&LVIS_SELECTED) { int index = m_channelList.GetSelectedIndex(); m_channelNameEdit.EnableWindow(TRUE); GetDlgItem(IDC_CHECK_OSDNAME).EnableWindow(TRUE); GetDlgItem(IDC_CHECK_OSDTIME).EnableWindow(TRUE); m_osdNameCheck = m_parent->m_osdName[m_channelIndex[index]]; m_osdTimeCheck = m_parent->m_osdTime[m_channelIndex[index]]; DoDataExchange(FALSE); CString buff; m_channelList.GetItemText(index,1,buff); m_channelNameEdit.SetWindowText(buff); m_previewDlg.changeChannel(m_channelIndex[index]); if (m_parent->m_channelHandle[m_channelIndex[index]] != INVALID_HANDLE_VALUE) { StartVideoPreview(m_parent->m_channelHandle[m_channelIndex[index]],m_previewDlg,NULL,FALSE,0,25); } } return 0; }
int CHikVision::PlayVideo(HANDLE hChannel, HWND hWnd, QRect &rect, int nFrameRate) { RECT winRect; POINT point; point.x = rect.left( ); point.y = rect.top( ); //BOOL bRet = ClientToScreen( hWnd, &point ); winRect.left = point.x; winRect.top = point.y; winRect.right = point.x + rect.right( ); winRect.bottom = point.y + rect.bottom( ); qDebug( ) << "left = " << winRect.left << "top = " << winRect.top << "right = " << winRect.right << "bottom = " << winRect.bottom << endl; //int nRet = SetPreviewOverlayMode( TRUE ); int nRet = StartVideoPreview( hChannel, hWnd, &winRect, true, 0, nFrameRate ); return nRet; }
void CMainDlg::initDH() { int iBoardNum; iBoardNum = InitDSPs(); if (iBoardNum <= 0) { MessageBox("大华卡初始化失败!\n"); for (int i=0;i<8;i++) { m_channelHandle[i] = INVALID_HANDLE_VALUE; } }else{ for (int i=0;i<8;i++) { m_channelHandle[i] = ChannelOpen(i); GetLocalTime(&m_systemTime); SetupDateTime(m_channelHandle[i], &m_systemTime); RECT rc = {0,30,342,248}; StartVideoPreview(m_channelHandle[i],m_previewDlg[i],&rc,FALSE,0,25); } } }