面向对象与可视化程序设计 --Visual C 编程主讲教师唐.ppt





《面向对象与可视化程序设计 --Visual C 编程主讲教师唐.ppt》由会员分享,可在线阅读,更多相关《面向对象与可视化程序设计 --Visual C 编程主讲教师唐.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象与可视化面向对象与可视化程序设计程序设计 -Visual C+Visual C+编程编程主讲教师主讲教师主讲教师主讲教师:唐唐唐唐 龙龙龙龙教授教授教授教授 (计算机科学与技术系)(计算机科学与技术系)(计算机科学与技术系)(计算机科学与技术系)黄维通黄维通黄维通黄维通博士博士博士博士 (计算机与信息管理中心)(计算机与信息管理中心)(计算机与信息管理中心)(计算机与信息管理中心)清清清清 华华华华 大大大大 学学学学2001200120012001年年年年11111111月月月月1/14/20231第十五章第十五章工具条类及其应用工具条类及其应用1/14/20232内容提要内容提要w
2、 w工具条类简介工具条类简介w w工具条类控件的应用工具条类控件的应用1/14/2023315.1.15.1.工具条类简介工具条类简介1/14/202341.工具条工具条FF工具条是图形化的菜单,可更快捷、更有效工具条是图形化的菜单,可更快捷、更有效的命令输入方式的命令输入方式。FF工具条作为程序的一个资源存放在资源脚本工具条作为程序的一个资源存放在资源脚本中,在程序运行时才调用。中,在程序运行时才调用。FF工具条的标识符在工具条的标识符在resource.hresource.h文件中定义,文件中定义,并与系统菜单、系统图标的并与系统菜单、系统图标的IDID相同,这样,相同,这样,可以使工具条
3、资源建立后直接链接到主窗口。可以使工具条资源建立后直接链接到主窗口。1/14/202352.2.工具条资工具条资源模板源模板FF工具条资工具条资源模板在源模板在工具条资工具条资源文件中定义源文件中定义工工具条具条各个按钮和整个工具条的位图,其格式各个按钮和整个工具条的位图,其格式如下:如下:IDTOOLBARIDTOOLBARIDTOOLBARIDTOOLBAR工具条工具条工具条工具条属性属性属性属性像素宽,像素高像素宽,像素高像素宽,像素高像素宽,像素高BEGINBEGINBEGINBEGINBUTTONID1BUTTONID1BUTTONID1BUTTONID1.BUTTONBUTTONB
4、UTTONBUTTONIDnIDnIDnIDnENDENDENDENDIDTOOLBARIDTOOLBARIDTOOLBARIDTOOLBAR工具条工具条工具条工具条属性属性属性属性bmpbmpbmpbmp文件名文件名文件名文件名1/14/202362.2.工具条资工具条资源模板源模板(续续)FF例如,在名为例如,在名为mytoolbar.rc工具条资工具条资源文件中定义源文件中定义的文件操作的文件操作工具条资工具条资源模板如下:源模板如下:IDR_TOOLBARTOOLBARDISCARDABLE16,15IDR_TOOLBARTOOLBARDISCARDABLE16,15IDR_TOOLB
5、ARTOOLBARDISCARDABLE16,15IDR_TOOLBARTOOLBARDISCARDABLE16,15BEGINBEGINBEGINBEGINBUTTONID_FILE_NEWBUTTONID_FILE_NEWBUTTONID_FILE_NEWBUTTONID_FILE_NEW/新建新建新建新建BUTTONID_FILE_OPENBUTTONID_FILE_OPENBUTTONID_FILE_OPENBUTTONID_FILE_OPEN/打开打开打开打开BUTTONID_FILE_SAVE_ASBUTTONID_FILE_SAVE_ASBUTTONID_FILE_SAVE_AS
6、BUTTONID_FILE_SAVE_AS/另存另存另存另存SEPERATORSEPERATORSEPERATORSEPERATOR/分隔块分隔块分隔块分隔块BUTTONID_SHOWBUTTONID_SHOWBUTTONID_SHOWBUTTONID_SHOW/显示显示显示显示ENDENDENDENDIDR_TOOLBARTOOLBARDISCARDABLE“IDR_TOOLBARTOOLBARDISCARDABLE“IDR_TOOLBARTOOLBARDISCARDABLE“IDR_TOOLBARTOOLBARDISCARDABLE“resresresrestoolbar.toolbar.
7、toolbar.toolbar.bmpbmpbmpbmp”1/14/202373.CToolBar类类FF工具条类工具条类CToolBar由控制条类由控制条类CControlBar派生的,派生的,而控制条类而控制条类CControlBar由由CWnd类直接派生的类直接派生的。FFCToolBarCToolBar类有几个兄弟类,都是用来接收某些命类有几个兄弟类,都是用来接收某些命令输入并向用户显示状态消息的类,包括:令输入并向用户显示状态消息的类,包括:CStatusBarCStatusBar(状态条)状态条)COleResizeBarCOleResizeBar(OLEOLE控制条)控制条)CD
8、ialogBarCDialogBar(对话条)对话条)FF在在AfxWinAfxWin.h.h中定义了中定义了CToolBar类。类。1/14/202384.4.CToolBar类的方法类的方法FFCToolBar类的方法,包括:类的方法,包括:构造方法;构造方法;构造方法;构造方法;工具条按钮操作方法;工具条按钮操作方法;工具条按钮操作方法;工具条按钮操作方法;虚拟方法虚拟方法虚拟方法虚拟方法。1/14/20239(1)Create()函数函数F创建并初始化工具条对象创建并初始化工具条对象BOOL CreateBOOL Create(CWndCWnd*pParentWnd pParentWn
9、d,/指向父窗口的指针指向父窗口的指针 DWORD DWORD dwStyledwStyle=WS_CHILD|WS_VISIBLE|CBRS_TOP,/=WS_CHILD|WS_VISIBLE|CBRS_TOP,/风格风格 UINT UINT nIDnID=AFX_IDW_TOOLBAR =AFX_IDW_TOOLBAR /工具条的工具条的IDID););例如:例如:CToolBarCToolBar m_ m_ToolBarToolBar=new=new CToolBar CToolBar();();m_m_ToolBarToolBar.Create.Create(this,(this,WS
10、_VISIBLE|CBRS_TOPWS_VISIBLE|CBRS_TOP,0 x91000 x9100););风格为风格为“初始可见初始可见”,且置于窗口且置于窗口“顶部顶部”工具条窗口的工具条窗口的IDID1/14/202310(2)LoadToolBar()函数函数F加载字符串形式定义的资源加载字符串形式定义的资源BOOL BOOL LoadToolBarLoadToolBar(LPCTSTR(LPCTSTR lpszResourceName lpszResourceName););F加载整型形式定义的资源加载整型形式定义的资源BOOL BOOL LoadToolBarLoadToolBa
11、r(UINT(UINT nIDResource nIDResource););(3)LoadBitmap()函数函数F加载字符串形式定义的位图资源加载字符串形式定义的位图资源BOOL BOOL LoadToolBarLoadToolBar(LPCTSTR(LPCTSTR lpszResourceName lpszResourceName););F加载整型形式定义的位图资源加载整型形式定义的位图资源BOOL BOOL LoadToolBarLoadToolBar(UINT(UINT nIDResource nIDResource););1/14/202311(4)SetBarStyle()函数函
12、数F重设置工具条风格重设置工具条风格,例如例如m_m_wndToolBarwndToolBar.SetBarStyleSetBarStyle (CBRS_CBRS_TOOLTIPSTOOLTIPS|CBRS_FLYBYCBRS_FLYBY|CBRS_SIZE_DYNAMICCBRS_SIZE_DYNAMIC););工具条窗口的风格工具条窗口的风格WS_VISIBLEWS_VISIBLE 使工具条窗口初始可见使工具条窗口初始可见CBRS_BOTTOMCBRS_BOTTOM 初始时将工具条放到窗口底部初始时将工具条放到窗口底部CBRS_FLYBYCBRS_FLYBY 鼠标光标在按钮上暂停时,显示命
13、令描述鼠标光标在按钮上暂停时,显示命令描述CBRS_NOALIGNCBRS_NOALIGN 防止控制条在其父窗口改变大小时被复位防止控制条在其父窗口改变大小时被复位CBRS_CBRS_TOOLTIPSTOOLTIPS 鼠标光标在按钮上暂停时,显示工具提示鼠标光标在按钮上暂停时,显示工具提示CBRS_TOPCBRS_TOP 初始时将工具条放在窗口顶部初始时将工具条放在窗口顶部CBRS_SIZE_DYNAMIC CBRS_SIZE_DYNAMIC 工具条的大小可变工具条的大小可变光标在按钮上暂停时,光标在按钮上暂停时,显示工具提示显示工具提示光标在按钮上暂停时,光标在按钮上暂停时,显示命令描述显示
14、命令描述工具条的工具条的大小可变大小可变1/14/202312(5)工具条的移动工具条的移动F缺省状况下,缺省状况下,CToolBarCToolBar工具条只能被应用程序所移动。工具条只能被应用程序所移动。F用户移动工具条,需向工具条及框架窗口发送消息。这用户移动工具条,需向工具条及框架窗口发送消息。这可通过调用如下函数实现可通过调用如下函数实现:CToolBarCToolBar:EnableDockingEnableDocking或或CFrameWndCFrameWnd:EnableDockingEnableDocking。F这二函数原型均为:这二函数原型均为:voidvoid Enable
15、DockingEnableDocking(DWORD(DWORD dwStyledwStyle););对于对于CFrameWndCFrameWnd不可用不可用停靠停靠风格风格1/14/202313(6)工具条的显隐控制)工具条的显隐控制F调用调用CWndCWnd:GetStyleGetStyle获取当时工具条状态获取当时工具条状态,即即:DWORDDWORD GetStyleGetStyle()()const const;F若若WS_VISIBLEWS_VISIBLE风格的工具条不能用风格的工具条不能用SetStyleSetStyle()()改变改变F由于工具条是一个窗口,其显示或隐藏可通过其
16、父类由于工具条是一个窗口,其显示或隐藏可通过其父类CWndCWnd的成员函数的成员函数ShowWindowShowWindow()()来实现。来实现。1/14/20231415.2.15.2.工具条类的应用工具条类的应用1/14/202315FF例例15-1带工具条类的应用程序,其界面带工具条类的应用程序,其界面标题为标题为MyToolBar,有四个下拉菜单和有四个下拉菜单和“文件文件”工具条。工具条。“文件文件文件文件”工具条有四个按钮工具条有四个按钮工具条有四个按钮工具条有四个按钮“N”N”,“O”O”,“S”S”和和和和“shsh”。工具条工具条工具条工具条“N”N”,“O”O”,“S”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象与可视化程序设计 -Visual 编程主讲教师唐 面向 对象 可视化 程序设计 Visual 编程 主讲 教师

限制150内