對話框最大化問題

ShowWindow(SW_SHOWMAXIMIZED);//窗口最大化

問題:在寫程序時,如果包含了標題欄,但是沒有包含最大化按鈕或者最小話按鈕。

那麼人工用ShowWindow(SW_MAXIMIZE),窗口會蓋住任務欄,並且窗口最大化後還可以拖動!

解決方法:

1 窗口最大化可以拖動的問題就是在最大化時不讓其拖動,

   只要響應WM_NCLBUTTONDOWN時判斷是否最大化 IsZoomed如果是則直接返回就OK!

2 解決遮住任務欄就是重載WM_GETMINMAXINFO:
void CTabDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
{
// TODO: Add your message handler code here and/or call default
lpMMI-> ptMaxSize.y   =   GetSystemMetrics(SM_CYFULLSCREEN)+GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYDLGFRAME);
CDialog::OnGetMinMaxInfo(lpMMI);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章