VFW编程遇到的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:37:54
创建一个视频捕获窗口后,如果父窗口大小改变的话,如何实现让视频捕获窗口也随这父窗口的大小变化而变化
创建的时候如果不支持比例变化(capPreviewScale)哪么如何获得视频流原始的大小
是不是视频捕获窗口创建一次后就不在重新创建,即使发送重绘小心paint
这个回答。。。。
xianhoudao第2题的回答。。。。

比如创建一个窗口得到窗口句柄CapHwnd
重载WM_SIZE
void CCapture3Dlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
CRect rc; //保存尺寸改变后的父窗口尺寸
static int i=1;
if(i==1)//窗口刚创建时跳过此函数
{
i++;
return;
}
GetClientRect(&rc);//获得客户区大小
if(ccapstatus.uiImageHeight!= rc.Height()||ccapstatus.uiImageWidth!=rc.Width())
FromHandle(CapHwnd)->MoveWindow(&rc);//MoveWindow
}

一般视频大小640*480
那么可以先设置对话框大小
SetWindowPos(NULL,200,150,640,480,NULL);

你可以创建看看,结果是叠加在一起的吧,看不清楚的

是的