您的位置:首页 > 科技 > IT业 > vi设计是品牌设计吗_人民日报客户端是什么级别_数字经济发展情况报告_阿里巴巴怎么优化关键词排名

vi设计是品牌设计吗_人民日报客户端是什么级别_数字经济发展情况报告_阿里巴巴怎么优化关键词排名

2025/4/20 23:08:29 来源:https://blog.csdn.net/qq_59940419/article/details/144293369  浏览:    关键词:vi设计是品牌设计吗_人民日报客户端是什么级别_数字经济发展情况报告_阿里巴巴怎么优化关键词排名
vi设计是品牌设计吗_人民日报客户端是什么级别_数字经济发展情况报告_阿里巴巴怎么优化关键词排名

文章目录

  • 前言
  • 一、在工程中动态开启或关闭Unicode编码
  • 二、如何发布写好的程序
  • 三、动态启用或禁用窗口
  • 四、MFC的消息映射机制
  • 总结


前言

C++打造局域网聊天室第四课: 动态启用或禁用窗口及MFC消息映射机制


一、在工程中动态开启或关闭Unicode编码

在解决方案资源管理器中右键工程,点击属性。
在这里插入图片描述
在常规-字符集下可以看到
在这里插入图片描述
可以通过选择未设置来关闭Unicode编码,选择未设置后重新编译即可
在这里插入图片描述

二、如何发布写好的程序

在写程序时使用Debug,这时产生的.exe文件较大,发布时选择Release,此时产生的.exe较小
在这里插入图片描述在同样的程序,Debug下产生的.exe较大
在这里插入图片描述
Release下产生的.exe较小
在这里插入图片描述

三、动态启用或禁用窗口

说明:窗口时广泛意义上的,任何一个控件都可以称为一个窗口。主要用到的函数:BOOL EnableWindow(BOOL bEnable = True),该函数可以设置控件的启用和禁用状态。
同时需要用到一些函数进行辅助:CWnd* GetDlgItem(int nID),用于取得某一个控件窗口的指针。
HWND GetSafeHwnd(),用于获取某一个控件窗口的句柄。
设置客户端停止控件禁用的代码如下:
在这里插入图片描述
首先利用函数GetDlgItem(int nID)获取该控件对象的指针,再调用成员函数EnableWindow将其设置为0,即flase,则设置禁用成功
在这里插入图片描述
但是该方法需要禁用多个控件时需要逐一编写程序,较为繁琐,这里我们采用另一种方法,重新封装一个函数。首先在chartroomDlg.h头文件中声明函数,我们这里同样将函数命名为EnableWindow,通过函数重载机制调用我们的函数。
在这里插入图片描述
接下来在chartroomDlg.cpp源文件中实现函数。
在这里插入图片描述
调用我们自己写的函数进行动态启用或禁用窗口
在这里插入图片描述

四、MFC的消息映射机制

右键服务器选项,点击添加时间处理程序
在这里插入图片描述
选择BN_CLICKED,即单机动作消息类型,并在类列表下选择类,如下图,后点击确定
在这里插入图片描述
可以看到在头文件chartroomDlg.h中自动为我们声明了该函数
在这里插入图片描述
并在源文件chartroomDlg.cpp中为我们自动写出了该函数的实现框架
在这里插入图片描述
先测试一下该函数是否可用
在这里插入图片描述
点击服务器选项弹出提示框,说明上述操作可行
在这里插入图片描述
MFC的消息映射机制即为MFC如何将用户的鼠标单机等操作与控件联系在一起
可以在BEGIN_MESSAGE_MAP中找到上述操作自动添加的代码(注意:这行代码是自动所生成的,不是人为添加的)
在这里插入图片描述
即所有对ID为IDC_RADIO2控件的单机操作都会执行函数OnBnClickedRadio2


总结

C++打造局域网聊天室第四课: 动态启用或禁用窗口及MFC消息映射机制

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com