ToorBar相关总结

来源:互联网 发布:昆明java招聘 编辑:程序博客网 时间:2024/05/15 15:28

一、增加ToolBar 按钮个数

     默认ToolBar最后会有一个空白按钮,只要给这个指定了ID,则编译器会自动增加一个新的空白按钮。 

 二、相关属性 

     ID属性:ID_FILE_NEW。不知大家是否还记得,菜单IDR_MAINFRAME的菜单项File->New的ID也是ID_FILE_NEW,两者ID相同,正是如此才使得工具栏第一个按钮与菜单项File->New能实现相同的功能。所以大家一定要记住,如果想让工具栏某个按钮与菜单栏某个菜单项点击后执行的操作相同,就要为两者设置相同的ID。

       Prompt属性:Create a new document\nNew。此属性为工具栏按钮的提示文本。在鼠标指向此按钮时,状态栏中会显示“Create a new document”,当弹出提示信息窗口时会显示包含“New”的提示信息。“\n”是两者的分隔转义符。

       Height属性:15。此属性为工具栏按钮的像素高度。

       Width属性:16。此属性为工具栏按钮的像素宽度。

       另外, 第三个按钮(保存按钮)和第四个按钮(剪切按钮)之间有一些间隙,在运行程序后会出现一个竖的分隔线,所以想要在两个按钮之间添加分隔线的话,可以用鼠标左键拖住右边的按钮往右稍移动一些就可以了。

三、删除某个按钮

    如果选择待删除个按钮,然后按Delete键默认删除的是该按钮的图片,而要删除该按钮需要左键点击选择拖出工具栏即可。

四、VS2010的 CMFCToolBar

      vs2010系统默认的工具栏类是CMFCToolBar,而网上的某些例子是的CToolBar,在VS2010中有可能无法正常运行 大家需要注意下。

     上传一个从VC知识库上下载的自定义工具条图标的例子

        http://download.csdn.net/detail/lcalqf/8242531

  1. 在框架窗口中启用停靠。

      若要将工具栏停靠到某个框架窗口,则必须启用该框架窗口(或目标)以允许停靠。可以在CFrameWndEx类中调用下面的成员函数来实现:

       BOOL EnableDocking(DWORD dwDockStyle);

        该函数采用一个DWORD参数,用来指定框架窗口的哪个边可以接受停靠,可以有四种取值:CBRS_ALIGN_TOP(顶部)、CBRS_ALIGN_BOTTOM(底部)、CBRS_ALIGN_LEFT(左侧)、CBRS_ALIGN_RIGHT(右侧)。如果希望能够将控制条停靠在任意位置,将CBRS_ALIGN_ANY作为参数传递给EnableDocking。

       2. 工具栏启用停靠。

           框架窗口启用停靠准备好后,必须以相似的方式准备工具栏。为想要停靠的每一个工具栏CMFCToolBar对象调用下面的函数:

           virtual void EnableDocking(DWORD dwAlignment);

           允许工具栏停靠到框架窗口,并指定工具栏应停靠的目标边。此函数指定的目标边必须与框架窗口中启用停靠的边匹配,否则工具栏无法停靠,为浮动状态。

       3. 停靠工具栏。

           当用户试图将工具栏放置在允许停靠的框架窗口某一边时,需要框架CFrameWndEx类调用以下函数:

          void DockPane(CBasePane* pBar,UINT nDockBarID=0,LPCRECT lpRect=NULL);

           参数pBar为要停靠的控制条的指针,参数nDockBarID为要停靠的框架窗口某条边的ID,可以是以下四种取值:AFX_IDW_DOCKBAR_TOP、AFX_IDW_DOCKBAR_BOTTOM、AFX_IDW_DOCKBAR_LEFT、AFX_IDW_DOCKBAR_RIGHT。


 CMFCToolBar 加载一个自己顶一个图标,图片ID为IDB_BITMAP2

if (!m_MyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE/* | CBRS_RIGHT*/ | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_MyToolBar.LoadToolBar(IDR_TOOLBAR1,0,0,TRUE,0,0,IDB_BITMAP2))
{
TRACE0("Failed to create toolbar\n");
return -1;      // fail to create
}

0 0
原创粉丝点击