欢迎来到天天文库
浏览记录
ID:5487909
大小:399.50 KB
页数:29页
时间:2017-12-13
《清华大学c++和vc++课件vc_3_15a》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/6/141面向对象与可视化程序设计--VisualC++编程主讲教师:唐龙教授(计算机科学与技术系)黄维通博士(计算机与信息管理中心)清华大学2001年11月2021/6/142第十五章工具条类及其应用2021/6/143内容提要工具条类简介工具条类控件的应用2021/6/144§15.1.工具条类简介2021/6/1451.工具条工具条是图形化的菜单,可更快捷、更有效的命令输入方式。工具条作为程序的一个资源存放在资源脚本中,在程序运行时才调用。工具条的标识符在resource.h文件中定义,并与系统菜单、系统图标的ID相同
2、,这样,可以使工具条资源建立后直接链接到主窗口。2021/6/1462.工具条资源模板工具条资源模板在工具条资源文件中定义工具条各个按钮和整个工具条的位图,其格式如下:IDTOOLBAR[工具条属性]像素宽,像素高BEGINBUTTONID1…...BUTTONIDnENDIDTOOLBAR[工具条属性]bmp文件名2021/6/1472.工具条资源模板(续)例如,在名为mytoolbar.rc工具条资源文件中定义的文件操作工具条资源模板如下:IDR_TOOLBARTOOLBARDISCARDABLE16,15BEGINBUTTONI
3、D_FILE_NEW//新建BUTTONID_FILE_OPEN//打开BUTTONID_FILE_SAVE_AS//另存SEPERATOR//分隔块BUTTONID_SHOW//显示ENDIDR_TOOLBARTOOLBARDISCARDABLE“restoolbar.bmp”2021/6/1483.CToolBar类工具条类CToolBar由控制条类CControlBar派生的,而控制条类CControlBar由CWnd类直接派生的。CToolBar类有几个兄弟类,都是用来接收某些命令输入并向用户显示状态消息的类,包括:CSta
4、tusBar(状态条)COleResizeBar(OLE控制条)CDialogBar(对话条)在AfxWin.h中定义了CToolBar类。2021/6/1494.CToolBar类的方法CToolBar类的方法,包括:构造方法;工具条按钮操作方法;虚拟方法。2021/6/1410(1)Create()函数创建并初始化工具条对象BOOLCreate(CWnd*pParentWnd,//指向父窗口的指针DWORDdwStyle=WS_CHILD
5、WS_VISIBLE
6、CBRS_TOP,//风格UINTnID=AFX_IDW_TOOLBA
7、R//工具条的ID);例如:CToolBarm_ToolBar=newCToolBar();m_ToolBar.Create(this,WS_VISIBLE
8、CBRS_TOP,0x9100);风格为“初始可见”,且置于窗口“顶部”工具条窗口的ID2021/6/1411(2)LoadToolBar()函数加载字符串形式定义的资源BOOLLoadToolBar(LPCTSTRlpszResourceName);加载整型形式定义的资源BOOLLoadToolBar(UINTnIDResource);(3)LoadBitmap()函数加载字符
9、串形式定义的位图资源BOOLLoadToolBar(LPCTSTRlpszResourceName);加载整型形式定义的位图资源BOOLLoadToolBar(UINTnIDResource);2021/6/1412(4)SetBarStyle()函数重设置工具条风格,例如m_wndToolBar.SetBarStyle(CBRS_TOOLTIPS
10、CBRS_FLYBY
11、CBRS_SIZE_DYNAMIC);工具条窗口的风格WS_VISIBLE使工具条窗口初始可见CBRS_BOTTOM初始时将工具条放到窗口底部CBRS_FLYBY鼠标
12、光标在按钮上暂停时,显示命令描述CBRS_NOALIGN防止控制条在其父窗口改变大小时被复位CBRS_TOOLTIPS鼠标光标在按钮上暂停时,显示工具提示CBRS_TOP初始时将工具条放在窗口顶部CBRS_SIZE_DYNAMIC工具条的大小可变光标在按钮上暂停时,显示工具提示光标在按钮上暂停时,显示命令描述工具条的大小可变2021/6/1413(5)工具条的移动缺省状况下,CToolBar工具条只能被应用程序所移动。用户移动工具条,需向工具条及框架窗口发送消息。这可通过调用如下函数实现:CToolBar::EnableDocking
13、或CFrameWnd::EnableDocking。这二函数原型均为:voidEnableDocking(DWORDdwStyle);对于CFrameWnd不可用停靠风格2021/6/1414(6)工具条的显隐控制调用C
此文档下载收益归作者所有