(一)自定义工具栏
自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标;二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似。
1、 自绘工具栏
1)添加Toolbar 资源,并设置工具条ID,如IDR_TOOLBAR1;编辑工具条,添加相应的项,设置项的ID,绘制各自图标的。
2)在MainFrm.h中添加Toolbar变量:
public:
CMFCToolBar m_toolbar1;
3)在MainFrm.cpp中的OnCreate中添加代码:
if((!m_toolbar1.CreateEx(this, TBSTYLE_FLAT, WS_CHILD |WS_VISIBLE |CBRS_TOP |CBRS_GRIPPER |CBRS_TOOLTIPS |CBRS_FLYBY |CBRS_SIZE_DYNAMIC,
CRect(1,1,1,1),IDR_TOOLBAR1)
|| (!m_ toolbar1.LoadToolBar(theApp.m_bHiColorIcons ? IDR_TOOLBAR1 : 0))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_ toolbar1.SetWindowText(_T("MyToolbar"));
…………
m_ toolbar1.EnableDocking(CBRS_ALIGN_ANY);
…………
DockPane(&m_ toolbar1);
4)为各项添加各自需要的响应事件即可。
注意,VS2008中,没有VC6.0那样方便的ClassWizard,所以,要在CMainFrame的属性的事件去找,若项ID与菜单的ID是相关联,则能在事件列表中找到相应的ID ;否则,只得靠手动添加响应事件了。
2、 位