正文

主窗體設(shè)計(10)

Visual C++項目開發(fā)案例全程實錄(第2版) 作者:明日科技


 

處理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);

}


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號