工具条[宝典]vc 完成对象栏上添加平面组合框控件

vc组合  时间:2021-03-03  阅读:()

作者刘涛

使用过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、添加代码编译运行程序。

三、程序代码

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

新注册NameCheap账户几天后无法登录原因及解决办法

中午的时候有网友联系提到自己前几天看到Namecheap商家开学季促销活动期间有域名促销活动的,于是就信注册NC账户注册域名的。但是今天登录居然无法登录,这个问题比较困恼是不是商家跑路等问题。Namecheap商家跑路的可能性不大,前几天我还在他们家转移域名的。这里简单的记录我帮助他解决如何重新登录Namecheap商家的问题。1、检查邮件让他检查邮件是不是有官方的邮件提示。比如我们新注册账户是需...

vc组合为你推荐
蓝瘦香菇被抢注最近火爆朋友圈的蓝瘦 香菇是什么意思?haole018.comse.haole004.com为什么手机不能放?www.vtigu.com如图所示的RT三角形ABC中,角B=90°(初三二次根式)30 如图所示的RT三角形ABC中,角B=90°,点p从点B开始沿BA边以1厘米每秒的速度向A移动;同时,点Q也从点B开始沿BC边以2厘米每秒的速度向点C移动。问:几秒后三角形PBQ的面积为35平方厘米?PQ的距离是多少kb123.net连网方式:wap和net到底有什么不一样的555sss.com拜求:http://www.jjj555.com/这个网站是用的什么程序www.1diaocha.com哪个网站做调查问卷可以赚钱 啊xvideos..comxvideos 怎么下载关键词分析怎么样分析关键词?www.jsjtxx.com苏州考驾照,理论考试结束后,要在网上学习满12小时,网站是什么盗车飞侠侠盗飞车飞机秘籍
美国vps租用 免费域名空间 动态域名解析 cn域名注册 Dedicated bluehost 163网 美国主机论坛 php主机 主机屋免费空间 新世界电讯 debian6 tk域名 刀片服务器是什么 服务器干什么用的 cdn加速是什么 四核服务器 超级服务器 空间租赁 沈阳主机托管 更多