![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
SharedNotNew
这个作者很懒,什么都没留下…
展开
-
关于MFC消息映射机制流程
以前刚来单位的时候,只知道这是C++岗,来了之后看项目代码死都找不到主函数…后来才发现是MFC,这玩意把int main给封装藏起来了,当然找不到了,囧。MFC和QT的数据传输有些是依赖于对话框和控件的,而这又涉及到一个很重要的机制:MFC消息映射机制(QT的事件其实跟这个差不多,QT是把所有的事件都封装为QEvent的子类了),以前找资源的时候看过黑马的一张图片,还挺不错的:上面几个步骤的文字说明:①操作系统为每个对话框默认建立一个消息队列,这个消息队列肯定是在代码里找不到的,但它确实存在;②每原创 2020-05-26 15:44:29 · 367 阅读 · 0 评论 -
QT按钮双击事件(自定义控件类/类的提升)
QT/MFC中对很多控件进行了封装,常用的消息/事件也都可以很方便地添加,但是有些控件类的消息或者属性,QT/MFC都默认没有提供重写方法,这时就只能定义某个控件的子类,并重写其响应消息/事件/属性,比如我们想定义一个按钮的双击事件,可以按照以下步骤执行:定义一个按钮子类→重写按钮子类窗口的双击事件→在主窗口中使用此按钮子类;(1) 定义一个按钮子类(2) 重写按钮子类窗口的双击事件....原创 2020-04-24 16:08:52 · 3087 阅读 · 1 评论 -
windows下宽字节和多字节的问题
宽字节和多字节,一度是我的噩梦,明明是调用同一个API,但是最后的返回值一会是char *,一会又是wchar_t *,实属烦人,前几天看吕鑫老师的视频,终于弄清楚了。Windows中有两种编码格式:(1) ANSI/多字节编码(每个字符占一个字节);(2) UNICODE/宽字节编码(每个字符占两个字节)。(ANSI是早期的编码格式,各国不统一,所以多种文字一起使用时经常出现乱码,后来为...原创 2020-04-20 15:00:17 · 619 阅读 · 0 评论 -
MFC重载PreTranslate函数截取消息
如果我们想对系统消息队列中的某个消息自定义其行为,可以选择某个对话框,添加PreTranslateMessage函数并重写;需要注意的点:(1) 只有消息队列中的消息会被PreTranslateMessage所截获,如果是用SendMessage直接向某个对话框发送的消息不会被截获;(2) PreTranslateMessage截获消息之后,当它释放此消息之后,这个消息才能到消息队列中去执行...原创 2020-03-09 14:04:19 · 362 阅读 · 0 评论