处理CPreView类的WM_LBUTTONDBLCLK消息,当用户双击某个窗口时,将窗口放大到父窗口的大小或者恢复为窗口的初始大小。代码如下:
void CPreView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
if (m_Stop) //在停止预览时禁止双击
return;
m_Dbled = ! m_Dbled;
//记录原始区域大小
CRect rc,prc;
GetClientRect(rc); //获得视频窗口的区域大小
this->MapWindowPoints(GetParent(),rc);
GetParent()->GetClientRect(prc); //获得父窗口的客户区域大小
int div = ((CPanel*)GetParent())->m_Div;
prc.DeflateRect(div,div,div,div);
if (m_Dbled)
{
((CPanel*)GetParent())->ShowOnly(m_Index); //显示预览窗口
SetWindowPos(&wndTop,prc.left,prc.top,prc.Width(),prc.Height(),SWP_SHOWWINDOW);
Invalidate(); //刷新窗口
if (m_ShowImage) //是否显示图片
{
//更新视频预览窗口
VCAUpdateOverlayWnd(m_hWnd);
VCAUpdateVideoPreview(m_Index,m_hWnd);
}
}
else
{
((CPanel*)GetParent())->ShowAll(); //显示所有预览窗口
((CPanel*)GetParent())->OnSize(0,0,0);
Invalidate(); //刷新窗口
if (m_ShowImage) //是否显示图片
{
//更新视频预览窗口
VCAUpdateOverlayWnd(m_hWnd);
VCAUpdateVideoPreview(m_Index,m_hWnd);
}
}
CStatic::OnLButtonDblClk(nFlags, point);
}