对话框程序中使用工具栏
来源:互联网 发布:网络小说改编的网络剧 编辑:程序博客网 时间:2024/09/21 11:24
前些日子一直在写一个小的软件,东西确实比较小,所以不想使用单文档的程序,其实也是因为对于单文档的程序感觉无从下手,还是对话框简单一些。
但是日子过了一段时间,当规划者怎样使用工具栏的时候,还是费了一番力气才搞定的。
小弟在图书馆借的一本书上给出了一种实现方案,感觉还不错,贴出来与大家分享一下!
首先声明图像列表对象和工具栏对象,即
然后下面的代码会实现在对话框程序里创建一个工具栏的效果,即
但是这样添加的工具栏不会自动生成按钮响应事件,需要我们自己去写事件响应函数了。
不过其实看一下MFC本身是怎么写的照葫芦画瓢就行了,只不过需要为每个按钮自定义一个ID的值。
首先为每个按钮自定义一个ID的值。
这些确实多了些,但是小弟是偷懒了,直接全部复制过来了。
不过看一下上面定义的那些IDI_ICON,IDR,IDS,IDC,IDD打头的宏定义就知道怎么回事了,其实在MFC中,自动为每个资源定义了宏。
然后在*.h中添加响应事件函数声明
还要在*.cpp文件中添加两部分内容,一部分是消息映射部分,另一部分就是真正实现函数的代码部分
根据处理函数和处理过程的不同,MFC主要处理三类消息:
- Windows消息,前缀以“WM_”打头,WM_COMMAND例外。Windows消息直接送给MFC窗口过程处理,窗口过程调用对应的消息处理函数。一般,由窗口对象来处理这类消息,也就是说,这类消息处理函数一般是MFC窗口类的成员函数。
- 控制通知消息,是控制子窗口送给父窗口的WM_COMMAND通知消息。窗口过程调用对应的消息处理函数。一般,由窗口对象来处理这类消息,也就是说,这类消息处理函数一般是MFC窗口类的成员函数。
- 命令消息,这是来自菜单、工具条按钮、加速键等用户接口对象的WM_COMMAND通知消息,属于应用程序自己定义的消息。通过消息映射机制,MFC框架把命令按一定的路径分发给多种类型的对象(具备消息处理能力)处理,如文档、窗口、应用程序、文档模板等对象。能处理消息映射的类必须从CCmdTarget类派生。
实现部分相信用过按钮自动生成事件的童鞋们都知道怎么回事了,这里就不一一列出来了。
最后实现的效果如下,贴图:
界面稍微丑陋了一点,但是总算是实现了我们需要的功能了!
呵呵!
- 对话框程序中使用工具栏
- 对话框程序中使用工具栏
- 对话框中添加工具栏
- VC 对话框程序加工具栏
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息
- 在对话框中加入工具栏
- 在对话框中加入工具栏
- 为对话框中加入工具栏
- vc对话框中添加工具栏
- 在对话框中插入 工具栏
- 使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框
- 使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框
- 使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框
- 使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框
- 使用Eclipse RCP进行桌面程序开发(二):菜单、工具栏和对话框
- 在MFC程序中使用XML文件配置工具栏
- 在对话框中加入工具栏2
- throw an exception
- 建希文件
- 常见字符串截取函数
- MYSQL C API
- 连接器是把目标模块看成是外部对象
- 对话框程序中使用工具栏
- 浅谈信息系统监理师的个人素质
- Log4net日志记录组件的使用详解
- C++文本文件读写的方法
- 迷失的自我
- 获取中文拼音首字母
- WAP书签
- JQuery的Cookie插件使用
- jquery与php交互的ajax应用第一课:检测用户注册时用户名是否存在