单击最小化窗口按钮,却不能触发WM_SYSCOMMAND消息!

jpinglove 2007-10-27 03:53:10
我有一个对话框程序,本来没有最小化窗口,我用
::SetWindowLong(m_hWnd,GWL_STYLE,::GetWindowLong(m_hWnd,GWL_STYLE)|WS_MINIMIZEBOX);
加了一个最小化按扭.
然后在WM_SYSCOMMAND消息里,
void CMyTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if (nID == SC_MINIMIZE)
{
::ShowWindow(m_hWnd,SW_MINIMIZE);
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}

写上以上代码!
结果这个消息却没有被执行!
我在DEBUG下设断,也发现这个消息本根没有被执行.请问要怎么样这个消息才能被执行呢?
...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
凤矶 2007-10-27
  • 打赏
  • 举报
回复
加上WS_SYSMENU
要么照一楼去做
cpio 2007-10-27
  • 打赏
  • 举报
回复

我试了好使啊:



void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if (nID == SC_MINIMIZE)
{
MessageBox("A1");
CDialog::OnSysCommand(nID, lParam);
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
fantasy_chl 2007-10-27
  • 打赏
  • 举报
回复
直接点窗体属性 最小化前面打勾最小化就可以了。。。

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧