VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 4657|回复: 8

向导创建的MFC对话框项目,窗口右上角的关闭事件在哪里的

[复制链接]
57_avatar_middle
最佳答案
0 
在线会员 发表于 2020-11-24 13:59:24 | 显示全部楼层 |阅读模式
使用MFC向导,创建了一个对话框项目。里面有确定、取消按钮。当把取消按钮执行的方法注释后,右上角的关闭按钮也不起作用了。
请问这两者是怎么关联起来的呢?在哪里可以看到关联?
微信截图_20201124135722.png
微信截图_20201124135620.png




上一篇:程序编译不成功(小白):问题在哪里呢?
下一篇:vc如何使用usb通讯控制电脑的音量,大神求助
57_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-25 13:33:39 | 显示全部楼层
本帖最后由 123机器视觉 于 2020-11-25 13:47 编辑

自己找到原因了(可能是这个原因,刚开始学C++)。
在win.h系统头文件,定义了宏IDCANCEL(这个宏可能就是系统默认给窗体右上关闭按钮用的)。而这个宏关联了由向导创建的方法:
ON_BN_CLICKED(IDCANCEL, &CMySystemSetting::OnBnClickedCancel)
同时,而界面上的【取消】按钮也用了同一个宏IDCANCEL,所以,两者触发的是同一个方法。


取消按钮

取消按钮

win中宏定义

win中宏定义

宏关联

宏关联
91_avatar_middle
最佳答案
0 
在线会员 发表于 2020-11-24 21:56:18 | 显示全部楼层
在窗口属性里设置,窗口菜单功能 选是,取消 确定 关闭 都会执行关闭窗口操作,只是返回值不同。
19_avatar_middle
最佳答案
12 
在线会员 发表于 2020-11-24 22:52:11 | 显示全部楼层
本帖最后由 236a 于 2020-11-24 22:54 编辑


那是应为程序关闭会调用他 所以不能注释掉
77_avatar_middle
最佳答案
2 
在线会员 发表于 2020-11-25 00:04:46 | 显示全部楼层
在主窗口的消息处理函数里头有右上角退出的响应函数。你可以建立自己的退出函数,这两个按钮控件的响应都调用这个退出函数。也可以通过发送消息函数达到使用同一个响应。前提是你得学好MFC的控制过程。
57_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-25 08:59:19 | 显示全部楼层
236a 发表于 2020-11-24 22:52
那是应为程序关闭会调用他 所以不能注释掉

你好。为什么窗口的关闭按钮也会调用【取消】按钮的方法呢?没有看到两者有关联的地方。
57_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-25 09:00:24 | 显示全部楼层
guanyulong 发表于 2020-11-24 21:56
在窗口属性里设置,窗口菜单功能 选是,取消 确定 关闭 都会执行关闭窗口操作,只是返回值不同。

你好。可以说下是那个属性名字吗?
另外,为什么窗口的关闭按钮也会调用【取消】按钮的方法呢?没有看到两者有关联的地方。
谢谢
57_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-26 16:14:09 | 显示全部楼层
向导创建的MFC对话框项目,窗口右上角的关闭事件在哪里的  如何关闭帖子呢?找不到编辑的按钮了
87_avatar_middle
最佳答案
16 
在线会员 发表于 2020-11-29 09:28:47 | 显示全部楼层
在类向导里添加  WM_CLOSE   消息
afx_msg void OnClose()
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-3-23 13:09

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表