第14章工具条.pptVIP

  • 1
  • 0
  • 约5.62千字
  • 约 24页
  • 2018-12-31 发布于天津
  • 举报
第14章工具条

第15章 工具条 Huang Weitong * 第 14章 工具条 14.1.1 工具条简介 工具条可以看作是图形化的菜单,是一种更快捷、更有效、更直观的命令输入方式。 工具条作为程序的一个资源,一般存放在资源脚本中,在程序运行时才调用 工具条的标识符ID在资源的头文件(Resource.h)中定义 如: #define IDR_TOORBAR 130 14.1.2 工具条资源结构 工具条模板用一种很简单的结构在资源脚本文件中定义,一个工具条资源脚本文件中定义了不同的按钮,同时,整个工具条对应一个.bmp位图 // Toolbar IDR_TOORBAR TOOLBAR DISCARDABLE 16,15//工具条,按钮大小是16象素宽,15象素高 BEGIN //工具条定义开始 BUTTON ID_FILE_NEW //工具条按钮的ID,对应“创建”新文件按钮 BUTTON ID_FILE_OPEN //工具条按钮的ID,对应“打开”文件按钮 BUTTON ID_FILE_SAVE_AS //工具条按钮的ID,对应“另存为”按钮 SEPARATOR //分隔块 BUTTON ID_SHOW //工具条按钮的ID,对应“显示”按钮 END //工具条定义结束 …… //Bitmap IDR_TOOLBAR BITMAP DISCARDABLE res\\toolbar.bmp//与工具条相应的位图文件 ID值 TOOLBAR [工具条属性] 象素宽,象素高 14.1.3 CToolBar类 CToolBar类提供了工具条的处理方法 构造方法 工具条按钮的操作方法 虚拟方法 CToolBar类有几个兄弟类 CStatusBar(状态条) COleResizeBar(OLE控制条) CDialogBar(对话条) 都是用来接收某些 命令输入并向用户 显示状态消息的类 14.2 工具条函数简介 14.2.1 Create()函数 BOOL Create ( CWnd* pParentWnd, //pParentWnd为指向工具条所在父窗口的指针 DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBRS_TOP, // dwStyle为工具条的风格 UINT nID = AFX_IDW_TOOLBAR //nID表示工具条子窗口的ID号 ); 下述代码生成一工具条,工具条风格为“初始可见”,且放置在窗口“顶部”,工具条窗口的ID号的16进制值为9100: CToolBar m_ToolBar=new CToolBar( ); m_ToolBar.Create(this, WS_VISIBLE |CBRS_TOP,0x9100); 14.2.2 LoadToolBar()函数 BOOL LoadToolBar(LPCTSTR lpszResourceName); //字符串形式定义的资源 BOOL LoadToolBar(UINT nIDResource); //整型形式定义的资源 14.2.3 SetBarStyle()函数 m_wndToolBar.SetBarStyle(CBRS_TOOLTIPS|CBRS_FLYBY| CBRS_SIZE_DYNAMIC); 15.2.4 LoadBitmap()函数 WS_VISIBLE 使工具条窗口初始可见 CBRS_BOTTOM 初始时将工具条放到窗口底部 CBRS_FLYBY 鼠标光标在按钮上暂停时,显示命令描述 CBRS_NOALIGN 防止控制条在其父窗口改变大小时被复位 CBRS_TOOLTIPS 鼠标光标在按钮上暂停时,显示工具提示 CBRS_TOP 初始时将工具条放在窗口顶部 CBRS_SIZE_DYNAMIC 工具条的大小可变 14.2.5 工具条的移动 缺省状况下,CToolBar工具条只能被应用程序所移动 为使用户能够移动工具条,为此,需向工具条及框架窗口发送消息。这可通过调用CToolBar::EnableDocking和CFrame::EnableDocking实现。 二函数原型均如下: void EnableDocking( DWORD dwStyle ); 对于CFrame不可用 实现工具条移动的常用代码: m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); 用户也可以对工具条进行移动或定位。或者在程序控制下,通过调用CFrameWn

文档评论(0)

1亿VIP精品文档

相关文档