CMFCToolBar类似于CToolBar,用于VS风格的窗口中,框架窗口要从CXXXFrameEx派生下来。
由于使用工具栏控件自绘的图标有诸多弊端,例如图标不够美观、替换图标比较麻烦等。这里仅介绍使用BMP位图,创建的工具栏。
这里的位图是一幅位图(其中包含工具栏的所有按钮图标),当位图加载到工具栏时,工具栏自动按工具栏图标的大小分割位图。所以我们要做的仅仅是让位图中的图标数等于工具栏的按钮数,必要时还要设置工具栏按钮的大小。
创建过程:
(1)、在框架窗口中定义对象:CMFCToolBar m_ToolBar1;
(2)、在框架的OnCreate函数中添加代码:
if(!m_ToolBar1.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar1.LoadToolBar(IDR_TOOLBAR1, 0, 0, TRUE, IDB_BITMAP1_DIS, 0, IDB_BITMAP1 ))//IDB_BITMAP1_DIS是去使能时的图标,//IDB_BITMAP1是使能时的图标 { TRACE0("未能创建工具栏1\n"); return -1; // 未能创建 } m_ToolBar1.SetWindowText( _T("MyToolBar") ); EnableDocking(CBRS_ALIGN_ANY); m_ToolBar1.EnableDocking(CBRS_ALIGN_ANY); ..... DockPane( &m_ToolBar1 );