MFC 对话框最大化不显示任务栏
近期维护一位大哥级项目,功能维护完成,发现界面最大化不显示任务栏,本想着简单,具体修改一下,结果哥们儿是“窝窝头翻个儿——显大眼”,于是就翻阅MFC资料和百度,结果挺多但是,太复杂,仔细参阅MFC资料,经过尝试,只需要一个事件就是可以实现
在定义的对话框值添加事件:
void C最大化显示任务栏01Dlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
lpMMI-> ptMaxSize.y = GetSystemMetrics(SM_CYFULLSCREEN)+GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYDLGFRAME);
CDialog::OnGetMinMaxInfo(lpMMI);
}
在代码中添加如下代码:
lpMMI-> ptMaxSize.y = GetSystemMetrics(SM_CYFULLSCREEN)+GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYDLGFRAME);
最终代码如下:
void C最大化显示任务栏01Dlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
lpMMI-> ptMaxSize.y = GetSystemMetrics(SM_CYFULLSCREEN)+GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYDLGFRAME);
CDialog::OnGetMinMaxInfo(lpMMI);
}
别忘了在 BOOL C最大化显示任务栏01Dlg::OnInitDialog()中添加 ShowWindow(SW_SHOWMAXIMIZED);
即可实现。