网站大量收购闲置独家精品文档,联系QQ:2885784924

VCMFC中使用工具栏控件详解..doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VCMFC中使用工具栏控件详解.

VC MFC工具栏(CToolBar)控件 工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建,如CButton按钮类,现举一个用代码创建按钮控件并显示在窗口里的例子。 CButton类的Create成员函数可以创建一个按钮控件,这个函数的格式如下: BOOL CButton::Create( ?????LPCTSTR lpszCaption,//按钮显示的文本 ?????DWORD dwStyle,//按钮样式 ?????const RECT rect,//按钮控件显示的区域(大小)相对于父窗口 ?????CWnd* pParentWnd,//按钮的父窗口(按钮属于哪个窗口) ?????UINT nID//指明按钮控件ID号 ????); 这个函数的第二个参数dwStyle是按钮控件的样式,也就是在可视化添加按钮控件时,右击按钮控件,选择属性,之后会弹出一个对话框,这个对话框有一个样式的选项,该参数即对应这个样式。 好了,了解了上面这些我们就来动态创建一个按钮吧,首先在对应话类里添加一个按钮类成员变量CButton m_Button; 然后在对话框编辑区里给对话框添加一个按钮控件(单击这个按钮创建按钮控件),然后添加这个按钮控件单击消息处理函数,并在函数添加以下语句: ?RECT ButtonRect;//按钮控件显示的区域(大小)相对于父窗口 ?ButtonRect.left=10; ?ButtonRect.top=10; ?ButtonRect.right=80; ?ButtonRect.bottom=30; ?m_Button.Create(动态创建,WS_CHILD,ButtonRect,this,1115); ?m_Button.ShowWindow(SW_SHOW);//显示按钮控件 知道了怎样动态创建按钮控件,我们就来创建工具栏控件。 首先在对话类中添加一个CToolBar类成员变量CToolBar m_Toolbar; 然后在对话类文件中定义工具栏命令ID #define ID_BUTTON1??? 501 #define ID_BUTTON2??? 502 #define ID_BUTTON3??? 503 接着我们就要创建工具栏资源了,用于工具栏按钮的显示图片 方法是进入ResourceView(资源视图选项卡),再随便选中一个选项,右击选择插入,在弹出的对话框里选中Toolbar,点新建。 接着创建三个按钮。如下图所示: 好了,下面把三个按钮ID号,改成上面宏定义的ID号,如果要改变“天”字按钮,选中该按钮,然后回车键,就会弹出一个对话框, 在ID项填入ID_BUTTON1,就可以了。接着依次把两个ID号改为ID_BUTTON2,ID_BUTOON3。在这个对话框里也可以改变工具栏按钮的大小。 接下来我们样在对话框类的OnInitDialog函数里的所有代码之后,return TRUE;之间添加以下语句: ???? m_Toolbar.Create(this);//创建工具栏控件 ???? m_Toolbar.LoadToolBar(IDR_TOOLBAR1);//装载工具栏资源 ? CRect rect(100,100,200,200);// ? m_Toolbar.MoveWindow(rect);//移动工具栏在父窗口的位置 ? m_Toolbar.ShowWindow(SW_SHOW);//显示工具栏 但这样显示工具栏不是很方便,特别是当窗口大小改变后,还要计算工具栏在窗口中的位置,有没有什么方法,可以根据窗口大小自动调整工具栏到合适的位置呢?答案是肯定的,RepositionBars函数可以做到。实现方法如下,把上面的语句换成下面的: ? m_Toolbar.Create(this);//创建工具栏控件 ????m_Toolbar.LoadToolBar(IDR_TOOLBAR1);//装载工具栏资源 ? //该函数用于显示工具栏,并根据窗口大小自动调整工具栏的位置 ? RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); ?而响应工具栏按钮单击消息,跟前面介绍的添加按钮单击消息差不多,进入类向导,找到要添加的工具栏按钮ID,添加COMMAND消息响应函数,如下图: 工具栏按钮上显示真彩位图 上面的例子有一个缺陷,那就是工具栏按钮显示的图形,不能超过256色,如果我想在工具栏按钮显示真彩位图,上面的方法显示是无法实现的,那这个功能是如何实现呢? SetImag

文档评论(0)

bhzs + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档