作者刘涛
使用过OFFICE2000的人都知道它的界面尤其是菜单和工具条可谓是让人耳目一新。虽然Visual C++开发工具也提供了对工具条的支持但通常只是按纽的集合不能直接加入组合框等控件实现OFFICE2000风格的工具条。本实例针对其中的一个细节讲述了在Windows环境下用Visual C++6.0在工具条中加入平面组合框控件方法并实现了组合框的消息响应函数使得我们的程序看上去更加专业。程序编译运行后的效果如图一所示
图一、工具栏中的平面组合框控件
一、实现方法
用应用程序向导AppWizard生成一个基于单文档的工程Project 首先打开VC的工具条资源编辑器在工具条要加入组合框的地方加一个空按纽并将资源共享ID定义为ID_TOOL_ZOOM。
其次从面向对象的思想出发一个工具条作为一个整体应该封装为一个类组合框控件应该作为这个类的一个成员变量。因此用Visual C++的类向导CLASSWIZARD生成一个以CToolBar为基类的的新类CMainToolBar并加入成员变量CFlatComboBox m_combobox
CflatComboBox为平面组合框类。
在向工具条添加控件的过程中调用CToolBar: :GetItemID 函数来获取每个按钮的ID直到搜索到"空"按钮。 CToolBar: :GetItemID 函数的原型为 UINT GetItemID( intnIndex ) const参数nIndex为当前按钮在工具条中的索引号该索引号的基准值为"0"。找到"空"按钮后调用CToolBar: :SetButtonInfo 函数设置按钮的宽度信息。最后调用
CComBox: :Create 、 CcomBox: :AddString 等函数动态创建平面组合框控件下面的代码实现了平面组合框控件的动态创建
但是仅仅产生平面组合框是不够的必须实现组合框的消息响应函数才能方便地运用组合框。在Vsiaul C++中消息响应函数通常都是用类向导来实现但是此处由于组合框是用函数创建的所以必须亲自动手来写代码也并不麻烦与类向导生成的代码格式是一样的可以参照来写。下面代码定义了组合框的选择变化消息响应函数
二、编程步骤
1、启动Visual C++6.0生成一个单文档项目将该项目命名为"ToolBar"
2、通过资源编辑器新增一个工具按钮 "Caption"设置为空 ID资源标志符命名为ID_TOOL_ZOOM
3、启动Class Wizard从CToolBar派生一个新类CMainToolBar
4、在MainFrm.h文件中添加#include "MainToolBar.h"语句然后找到CToolBarm_wndToolBar语句用CMainToolBar代替CToolBar
5、添加代码编译运行程序。
三、程序代码
已经有一段时间没有分享阿里云服务商的促销活动,主要原因在于他们以前的促销都仅限新用户,而且我们大部分人都已经有过账户基本上促销活动和我们无缘。即便老用户可选新产品购买,也是比较配置较高的,所以就懒得分享。这不看到有阿里云金秋活动,有不错的促销活动可以允许产品新购。即便我们是老用户,但是比如你没有购买过他们轻量服务器,也是可以享受优惠活动的。这次轻量服务器在金秋活动中力度折扣比较大,2G5M配置年付...
DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,其中VPS主机基于XEN架构,支持异地备份与自定义镜像,VPS和独立服务器均可提供内网IP功能。商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;独立服务器开设在香港沙田电信机房,CN2线路,自动化开通上架,最低499元/月起。下面以...
Hostiger商家我们可能以前也是有见过的,以前他们的域名是Hostigger,后来进行微调后包装成现在的。而且推出Columbus Day哥伦布日优惠活动,提供全场的VPS主机首月7折月付2.79美元起的优惠。这里我们普及一下基础知识,Columbus Day ,即为每年10月12日,是一些美洲国家的节日,纪念克里斯托弗·哥伦布在北美登陆,为美国的联邦假日。Hostiger 商家是一个成立于2...