首先,调用CToolBar::Create以创建工具条窗口,注意Create函数的参数是this指针,这是因为主框架窗口是工具条的父窗口。接着调用CToolbar::LoadToolBar(IDR_TOOLBAR1)以载入工具条资源。然后调用CToolBar::SetBarStyle指定工具条的风格,在调用该函数时先调用CToolBar::GetBarStyle取得工具条的风格,然后在原有风格的基础上又指定了CBRS_TOOLTIPS、 CBRS_FLYBY和CBRS_SIZE_DYNAMIC风格,这使得工具条可显示工具提示,并可以动态改变尺寸。接着调用CToolBar::EnableDocking(CBRS_ALIGN_ANY)使工具条是可以停泊的,但还需调用CFrameWnd::EnableDocking(CBRS_ALIGN_ANY),只有这样才能实现可停泊的工具条。最后调用CFrameWnd::DockControlBar以停泊工具条。
我们可以使用CFrameWnd类的成员函数ShowControlBar()来进行工具栏的显示和隐藏,它的原型如下:
void ShowControlBar( CControlBar* pBar, BOOL bShow, BOOL bDelay );
其中,pBar用来指定要操作的控制条指针,bShow为TRUE时表示显示,否则表示隐藏,bDelay表示是否延迟显示或隐藏,当为FALSE时表示立即显示或隐藏。
CCmdUI类为
① CCmdUI类是专门用于交互对象的更新操作,其成员函数Enable()用来使交互对象有效(参数为TRUE)或无效(参数为FALSE),若不指定参数,使用默认的参数值TRUE。
② CCmdUI::SetCheck()用来设置交互对象状态是"选中"(参数为TRUE)还是"未选中"(参数为FALSE)。当"选中"时,SetCheck()在菜单项文本前面加上"a"。
afx_msg void OnRect();
afx_msg void OnRound();
afx_msg void OnLine();
消息映射:
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
ON_COMMAND(ID_RECT,OnRect)
ON_COMMAND(ID_ROUND,OnRound)
ON_COMMAND(ID_LINE,OnLine)
END_MESSAGE_MAP()
void CMainFrame::OnRect()
{
//option=1;
}
void CMainFrame::OnRound()
{
//option=2;
}
void CMainFrame::OnLine()
{
//option=3;
}