对话框最大化问题

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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章