实现窗口最大化最小化消息事件
有如下两种方法实现:
第一种:
给Dlg类添加WM_SIZE事件,会自动生成OnSize()方法
[php]
void CTrayDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
//最小化 SIZE_MINIMIZED
//最大化 SIZE_MAXIMIZED
//还原 SIZE_RESTORED
if (nType== SIZE_MINIMIZED) //响应最小化
{
//在这里添加最小化需要处理的事件
ShowWindow(SW_HIDE);
}
}
[/php]
第二种:
直接在OnSysCommand方法添加
代码如下:
[php]
void CTrayMenuDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if(nID == SC_MAXIMIZE)
{
//ShowWindow(SW_HIDE); //响应最大化
}
else if (nID == SC_MINIMIZE)
{
ShowWindow(SW_HIDE); //响应最大化
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
[/php]