void CMyDlg::OnFileOpen()
{
// TODO: Add your control notification handler code here
cvNamedWindow("video", 1);
pCapture = cvCreateCameraCapture(-1);
SetTimer(1,100,NULL); //每隔一段时间读出一帧视频图像
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
pFrame=cvQueryFrame(pCapture);
CDC *pDC = GetDlgItem(IDC_srcp)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect; // 矩形类
GetDlgItem(IDC_srcp)->GetClientRect(&rect); // 获取box1客户区
CvvImage cimg; //
cimg.CopyOf(pFrame,1); //参数1代表通道数,故此ShowPicture(int nID, IplImage *Image)函数只能显示单通道图像
cimg.DrawToHDC(hdc,&rect); //输出图像
ReleaseDC( pDC );
cimg.Destroy(); //销毁
CDialog::OnTimer(nIDEvent);
}