處理CPreView類的WM_LBUTTONDBLCLK消息,當(dāng)用戶雙擊某個窗口時,將窗口放大到父窗口的大小或者恢復(fù)為窗口的初始大小。代碼如下:
void CPreView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
if (m_Stop) //在停止預(yù)覽時禁止雙擊
return;
m_Dbled = ! m_Dbled;
//記錄原始區(qū)域大小
CRect rc,prc;
GetClientRect(rc); //獲得視頻窗口的區(qū)域大小
this->MapWindowPoints(GetParent(),rc);
GetParent()->GetClientRect(prc); //獲得父窗口的客戶區(qū)域大小
int div = ((CPanel*)GetParent())->m_Div;
prc.DeflateRect(div,div,div,div);
if (m_Dbled)
{
((CPanel*)GetParent())->ShowOnly(m_Index); //顯示預(yù)覽窗口
SetWindowPos(&wndTop,prc.left,prc.top,prc.Width(),prc.Height(),SWP_SHOWWINDOW);
Invalidate(); //刷新窗口
if (m_ShowImage) //是否顯示圖片
{
//更新視頻預(yù)覽窗口
VCAUpdateOverlayWnd(m_hWnd);
VCAUpdateVideoPreview(m_Index,m_hWnd);
}
}
else
{
((CPanel*)GetParent())->ShowAll(); //顯示所有預(yù)覽窗口
((CPanel*)GetParent())->OnSize(0,0,0);
Invalidate(); //刷新窗口
if (m_ShowImage) //是否顯示圖片
{
//更新視頻預(yù)覽窗口
VCAUpdateOverlayWnd(m_hWnd);
VCAUpdateVideoPreview(m_Index,m_hWnd);
}
}
CStatic::OnLButtonDblClk(nFlags, point);
}