MFC对话框程序中右上角的关闭按钮的消息响应过程

penghuahuijuan 2016-07-06 06:13:43
MFC对话框程序中右上角的关闭按钮的消息响应过程是什么??跟点击确定与取消有什么区别??
谢谢!!!

有时候进行视频预览的时候,直接点击关闭按钮,下一次运行程序时,相机不能正常预览。
但是点击确定和取消空间关闭对话框,第二次运行正常。为什么??是不是因为它们之间
对关闭对话框的消息响应不一样
...全文
4693 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
penghuahuijuan 2016-07-09
  • 打赏
  • 举报
回复
引用 6 楼 VisualEleven 的回复:
[quote=引用 5 楼 u014260892 的回复:] [quote=引用 4 楼 VisualEleven 的回复:] 你关闭的地方做了什么特殊处理吗?
没有,我现在想知道关闭的时候,消息的响应是怎样的,然后对其进行处理,现在不明白直接点击关闭 按钮,MFC的消息响应过程,能解释一下吗??谢谢版主[/quote] 主要的几个消息,当点击右上角的关闭按钮: WM_CLOSE ->WM_SYSCOMMAND ->WM_COMMAND(IDCANCEL)->WS_DESTROY->WM_NCDESTROY[/quote] 谢谢
Eleven 2016-07-08
  • 打赏
  • 举报
回复
引用 5 楼 u014260892 的回复:
[quote=引用 4 楼 VisualEleven 的回复:] 你关闭的地方做了什么特殊处理吗?
没有,我现在想知道关闭的时候,消息的响应是怎样的,然后对其进行处理,现在不明白直接点击关闭 按钮,MFC的消息响应过程,能解释一下吗??谢谢版主[/quote] 主要的几个消息,当点击右上角的关闭按钮: WM_CLOSE ->WM_SYSCOMMAND ->WM_COMMAND(IDCANCEL)->WS_DESTROY->WM_NCDESTROY
penghuahuijuan 2016-07-08
  • 打赏
  • 举报
回复
引用 4 楼 VisualEleven 的回复:
你关闭的地方做了什么特殊处理吗?
没有,我现在想知道关闭的时候,消息的响应是怎样的,然后对其进行处理,现在不明白直接点击关闭 按钮,MFC的消息响应过程,能解释一下吗??谢谢版主
Eleven 2016-07-08
  • 打赏
  • 举报
回复
你关闭的地方做了什么特殊处理吗?
lx624909677 2016-07-07
  • 打赏
  • 举报
回复
你得贴出确定按钮的消息处理函数,我们才能知道点击确认按钮发生了什么吧?
zgl7903 2016-07-06
  • 打赏
  • 举报
回复
窗口上的关闭按钮 发送的是 WM_SYSCOMMAND, SC_CLOSE 消息 关闭清理等工作 推荐重载 对话框的 DestroyWindow 中处理
schlafenhamster 2016-07-06
  • 打赏
  • 举报
回复
/* * System Menu Command Values */ #define SC_SIZE 0xF000 #define SC_MOVE 0xF010 #define SC_MINIMIZE 0xF020 #define SC_MAXIMIZE 0xF030 #define SC_NEXTWINDOW 0xF040 #define SC_PREVWINDOW 0xF050 #define SC_CLOSE 0xF060 #define SC_VSCROLL 0xF070 #define SC_HSCROLL 0xF080 #define SC_MOUSEMENU 0xF090 #define SC_KEYMENU 0xF100 #define SC_ARRANGE 0xF110 #define SC_RESTORE 0xF120 #define SC_TASKLIST 0xF130 #define SC_SCREENSAVE 0xF140 #define SC_HOTKEY 0xF150 #if(WINVER >= 0x0400) #define SC_DEFAULT 0xF160 #define SC_MONITORPOWER 0xF170 #define SC_CONTEXTHELP 0xF180 #define SC_SEPARATOR 0xF00F #endif /* WINVER >= 0x0400 */ void CClipDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } if (nID == SC_MOVE) { afxDump << "OnSysCommand\n"; } CDialog::OnSysCommand(nID, lParam); }

15,979

社区成员

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

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