VC++工具栏与状态栏

VC++工具栏与状态栏

ID:38577635

大小:293.32 KB

页数:60页

时间:2019-06-15

VC++工具栏与状态栏_第1页
VC++工具栏与状态栏_第2页
VC++工具栏与状态栏_第3页
VC++工具栏与状态栏_第4页
VC++工具栏与状态栏_第5页
资源描述:

《VC++工具栏与状态栏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、工具栏与状态栏1、工具栏1、1工具栏简介工具栏对象是一种窗口,其中包含一些水平排放的图形按钮。工具栏中的所有按钮的图形被存储在一个位图中,而该位图被定义在应用程序的资源文件中。工具栏按钮与菜单选项是类似的。单击工具栏按钮将产生相应的命令,应用程序通过提供消息处理函数来处理产生的命令。如果工具栏的某个按钮没有COMMAND或UPDATE_COMMAND_UI处理函数,那么框架自动使该按钮无效。工具栏和状态栏一般作为框架窗口类的成员变量声明,在创建框架窗口时自动创建它们,在销毁框架窗口时自动销毁所创建的控件栏对象。使用AppWizard创建应用程序基本框架时,可以得到

2、初始的工具栏和状态栏。1、2工具栏的创建工具栏创建有两种方法,第一种是使用工具栏编辑器。基本步骤为:(1)创建工具栏资源(2)构造CToolBar对象,即在边框窗口类的声明中添加类似以下的声明:CToolBarm_wndToolBar。(3)调用Create或CreateEx创建工具栏,然后调用LoadToolBar装载工具栏资源,即在边框窗口类的OnCreate添加类似下面的代码:if(!m_wndToolBar.Create(this)

3、

4、!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)){TRACEO(“Faildtocrea

5、tetoolbar”);Return-1;}(4)调用Create时还可以指定工具栏的风格,默认风格是WS_CHILD

6、WS_VISIBLE

7、CBRS_TOP。①CBRS_TOP工具栏在边框窗口顶部②CBRS_BOTTOM工具栏在边框窗口底部③CBRS_NOALIGN边框窗口改变大小时,工具栏不重定位④CBRS_TOOLTIPS使工具提示有效。⑤CBRS_SIZE_DYNAMIC工具栏尺寸可变。⑥CBRS_SIZE_FIXED工具栏尺寸固定。⑦CBRS_FLOATLNG工具栏是浮动的。⑧CBRS_FLYBY在状态栏中显示按钮的有关信息。⑨CBRS_HIDE_I

8、NPLANE不显示工具栏。如果创建后要改变工具栏的风格,则调用CControlBar::SetBarStyle来实现。工具栏创建的另一方法为:(1)构造CToolBar对象(2)调用Create或CreateEx创建工具栏。(3)调用LoadBitmap装载包含工具按钮图像的位图。(4)调用SetButton设置按钮并使每个按钮与位图图像相关。所有工具栏按钮图像都保存在一个位图文件中,在AppWizard创建工程过程中,自动创建的工具栏位图文件名为ResToolBar.bmp,可以在资源编辑器中编辑该位图。每个图像都有相同的大小,默认为16像素宽,15像素高。C

9、ToolBar对象根据被单击按钮在工具栏中的位置来处理工具栏中的鼠标单击事件,并产生适当的命令。按钮通过控件ID数组与按钮所产生的命令相关,控件ID在数组中的位置与按钮图像在工具栏位图中的位置是一样的。数组中含有分隔符(ID_SEPARATOR),用于将按钮分组。在确定按钮位置时,分隔符是被忽略的。工具栏按钮可以以按钮、复选框或单选框的形式出现和起作用,默认情况下以按钮形式出现。若想让工具栏按钮以复选框形式出现时,应将风格TBBS_CHECKBOX赋给该CToolBar对象或在一个ON_UNDATE_COMMAND_UI处理程序中使用某个CCmdUI对象的SetC

10、heck函数;如果按钮为单选框形式,那么应在命令更新处理函数中调用CCmdUI::SetRadio。1、3特殊形式的工具栏(1)浮动式工具栏通过AppWizard创建的工具栏可以浮动。若要将工具栏移动到某个位置,可以调用框架窗口类的成员函数FloatControlBar来实现,该函数的原型如下:CFrameWnd*FloatControlBar(CControlBar*pBar,CPointpoint,DWORDdwstyle=CBRS_ALIGN_TOP);第一个参数是指向工具栏的指针,第二个参数说明工具栏在哪儿浮动,第三个参数指定工具栏与边框窗口的对齐方式。以

11、下代码使工具栏在左上角浮动。FloatControlBar(&m_wndToolBar,CPoint(0,0));(2)船坞化工具栏要使工具栏为船坞化的,需要使用类似以下的代码:m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);首先要使工具栏能够船坞化,要通过调用CControlBar::EnableDocking来实现;然后应该确保边框窗口能够船坞化,这是通过调用CFrameWnd::EnableDockin

12、g来实现;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。