工具栏和状态栏

上传人:kms****20 文档编号:40587548 上传时间:2018-05-26 格式:DOC 页数:3 大小:52.50KB
返回 下载 相关 举报
工具栏和状态栏_第1页
第1页 / 共3页
工具栏和状态栏_第2页
第2页 / 共3页
工具栏和状态栏_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《工具栏和状态栏》由会员分享,可在线阅读,更多相关《工具栏和状态栏(3页珍藏版)》请在金锄头文库上搜索。

1、第四章菜单、工具栏和状态栏 4.2 工具栏 工具栏编程 CToolBar: CToolBar 类封装了工具栏的操作 1、创建工具条 BOOL CreateEx( CWnd* pParentWnd,DWORD dwCtrlStyle = TBSTYLE_FLAT,DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,CRect rcBorders = CRect( 0, 0, 0 ),UINT nID = AFX_IDW_TOOLBAR); 说明: 此成员函数用来创建一个 Windows 工具条(一个子窗口)并将它与该 CToolBar 对

2、象连接。它还将工具条的高度设置为一个缺省值。 当在嵌入工具条控件的创建期间需要指定某个特定的风格时,使用 CreateEx 来 代替 Create。 返回值:如果成功则返回非零值;否则返回 0。 参数: pParentWnd 参数:指向工具条的父窗口的指针。 dwCtrlStyle 参数:嵌入 CToolBarCtrl 对象的附加风格,用来指针工具按钮 的风格,当为 TBSTYLE_FLAT 时表示工具按钮是“平面”的。dwStyle参数:用来制定工具栏的风格。WS_CHILD 表示其是子窗口, WS_VISIBLE 表示其可见的。CBRS_TOP 表示工具栏放置在父窗口的顶部, CBRS_G

3、RIPPER 表示工具栏前面有一个“把手” ,CBRS_TOOLTIPS 表示允许有工具 提示,CBRS_FLYBY 表示在状态栏显示工具提示文本,CBRS_SIZE_DYNAMIC 表示工具栏在浮动时,其大小是可以动态改变的。rcBorders参数是用来指定工具栏四周 的边框大小,一般都为 0。nID参数是用来指定工具栏这个子窗口的标识 ID(与工具栏资源标识不同)。AFX_IDW_TOOLBAR 是系统内部的工具栏子窗口标识,并将 AFX_IDW_TOOLBAR + 1 的值表示默认的工具栏子窗口标识。如果在创建新的工具栏时没有指定相应的子 窗口标识,则会使用默认的 AFX_IDW_TOO

4、LBAR。这样,当打开“查看”菜单时, 单击“工具栏”菜单时,显示或隐藏的工具栏不是原来的工具栏而是新添加的工具栏。 因此,需要重新指定工具栏子窗口的标识,并使其值等于 AFX_IDW_TOOLBAR + 10。 2、装载工具条 CToolBar:LoadToolBar BOOL LoadToolBar( LPCTSTR lpszResourceName ); BOOL LoadToolBar( UINT nIDResource ); 说明: 此成员函数用来装入由 lpszResourceName 或 nIDResource 指定的工具条。 返回值:如果成功则返回非零值;否则返回 0。 参数:

5、lpszResourceName:指向要被装入的工具条的资源名称的指针。nIDResource:要装入的工具条的资源 ID。 3、使得工具栏一般具有停靠或浮动特性调用 CFrameWnd 类的成员函数 EnableDocking 和CFrameWnd:DockControlBar。 1)CFrameWnd:EnableDocking void EnableDocking(DWORD dwDockStyle); 说明: 调用此成员函数使框架窗口中的可停靠控件条可用。缺省时,控件条会以下面 顺序停靠于框架窗口中:顶部、底部、左部、右部。 参数: dwDockStyle:指定框架窗口的哪一边可作为控

6、件条的停靠点,可为以 下之中的一个或几个: CBRS_ALIGN_TOP 允许停靠到用户区的顶部。 CBRS_ALIGN_BOTTOM 允许停靠到用户区底部。 CBRS_ALIGN_LEFT 允许停靠到用户区左边。 CBRS_ALIGN_RIGHT 允许停靠到用户区右边。 CBRS_ALIGN ANY 允许停靠到用户区任意一边。 2)CFrameWnd:DockControlBar void DockControlBar(CControlBar* pBar, UINT nDockBarID=0, LPCRECT lpRect = NULL); 说明:使一个控件条停靠于框架窗。控件条可被停靠于框

7、架窗口中由 CControlBar:EnableDocking 和 CFrameWnd:EndbleDocking 调用指定的一边, 此边由 nDock-BarID 指定。 参数: pBar 指向将停靠的控件条。 nDockBarID 决定框架窗口的哪一边用于停靠,可为 0 或以下之中的一个或多个: AFX_IDW_DOCKBAR_TOP 停靠到框架窗口的顶部。 AFX_IDW_DOCKBAR_BOTTOM 停靠到框架窗口底部。 AFX_IDW_DOCKBAR_LEFT 停靠到框架窗口左边。 AFX_IDW_DOCKBAR_RIGHT 停靠到框架窗口右边。 如果为 0,控件条可以在目标框架窗口

8、中任意可停靠的地方停靠。 lpRect 以屏幕坐标表示目标框架窗口非用户区中可被控件条停靠的位置。 4、设置工具条是否可见 CFrameWnd:ShowControlBar void ShowControlBar(CControlBar* pBar,BOOL bShow,BOOL bDelay);说明:调用此成员函数显示或隐藏一个控件条。 参数: pBar 指向将显示或隐含的控件条。 bShow 如果为 TRUE,则指定控件条将被显示;如果为 FALSE,则隐藏。 bDelay 如果为 TRUE,则延迟显示控件条;如果为 FALSE,则立即显示。 int bShow = m_wndTestBa

9、r.IsWindowVisible();ShowControlBar( 4.3 状态栏 4.3.1 状态栏的定义 用 MFC AppWizard(.exe)创建的 SDI 或 MDI 应用程序框架中,有一个静态的 indicator 数组, 它是在 MainFrm.cpp 文件中指定的,被 MFC 用作状态栏的定义。 4.3.2 状态栏的常用操作 Visual C+ 6.0 中可以方便地对状态栏进行操作,如增减窗格、在状态栏中显示文本、改变 状态栏的风格和大小等,并且 MFC 的 CStatusBar 类封装了状态栏的大部分操作。1. 增加和减少窗格 状态栏中的窗格可以分为信息行窗格和指示器窗

10、格两类。若在状态栏中增加一个信息行窗 格,则只需在 indicators 数组中的适当位置中增加一个 ID_SEPARATOR 标识即可;若在状 态栏中增加一个用户指示器窗格,则在 indicators 数组中的适当位置增加一个在字符串表中 定义过的资源 ID,其字符串的长度表示用户指示器窗格的大小。若状态栏减少一个窗格, 其操作与增加相类似,只需减少 indicators 数组元素即可。 ID_SEPARATOR:增加一个信息行的窗口; ID_INDICATOR_CAPS:显示 CapsLock ID_INDICATOR_NUM:显示 NumLock ID_INDICATOE_SCRL:显示

11、 ScrollLock 2. 在状态栏上显示文本 调用 CStatusBar:SetPaneText 函数可以更新任何窗格(包括信息行窗格)中的文本。此函数原 型描述如下: BOOL SetPaneText( int nIndex, LPCTSTR lpszNewText, BOOL bUpdate = TRUE ); 其中,lpszNewText 表示要显示的字符串。nIndex 是表示设置的窗格索引(第一个窗格的索 引为 0)。若 bUpdate 为 TRUE,则系统自动更新显示的结果。 4.33 改变状态栏的风格在 MFC 的 CStatusBar 类中,有两个成员函数可以改变状态栏风格

12、,它们是:void SetPaneInfo( int nIndex, UINT nID, UINT nStyle, int cxWidth );void SetPaneStyle( int nIndex, UINT nStyle ); 其中,参数 nIndex 表示要设置的状态栏窗格的索引,nID 用来为状态栏窗格指定新的 ID,cxWidth 表示窗格的像素宽度,nStyle 表示窗格的风格类型,用来指定窗格的外观, 例如 SBPS_POPOUT 表示窗格是凸起来的,具体见表 4.6。 表 4.6 状态栏窗格的风格类型风格类型风格类型含含 义义SBPS_NOBORDERS窗格周围没有 3D 边框SBPS_POPOUT反显边界以使文字“凸出来”SBPS_DISABLED禁用窗格,不显示文本SBPS_STRETCH拉伸窗格,并填充窗格不用的空白空间。但状态 栏只能有一个窗格具有这种风格SBPS_NORMAL普通风格,它没有“拉伸”, “3D 边框”或“凸出来” 等特性

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号