MFC 在同一窗口显示不同工具栏
从登录界面转向主界面时根据用户的不同身份跳转到主界面时工具栏显示不同,其余都一样,再建一个窗口是不是太麻烦了,我的想法是写两个工具栏,有没有什么方法让它调用不同的工具栏?...
从登录界面转向主界面时根据用户的不同身份跳转到主界面时工具栏显示不同,其余都一样,再建一个窗口是不是太麻烦了,我的想法是写两个工具栏,有没有什么方法让它调用不同的工具栏?请说的详细点,我新手分不多,帮帮忙啊555
展开
1个回答
展开全部
//.h
class CMainFrame : public CFrameWnd
{
....
CToolBar m_wndToolBar1;
CToolBar m_wndToolBar2;
....
}
//.cpp
在资源Toolbar下添加两个工具栏 IDR_BAR_TOOL1 IDR_BAR_TOOL2
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
if (!m_wndToolBar1;.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar1.LoadToolBar(IDR_BAR_TOOL1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndToolBar2.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar2.LoadToolBar(IDR_BAR_TOOL2))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
}
int CMainFrame::ShowToolBar(BOOL bShow)
{ //可以通过bShow控制显示那个工具栏
//ShowControlBar()可以用来控制是否显示该工具栏
ShowControlBar(&m_wndToolBar1,!bShow,FALSE);
ShowControlBar(&m_wndToolBar2,bShow,FALSE);
}
//ShowControlBar()详细用法可参考MSDN
class CMainFrame : public CFrameWnd
{
....
CToolBar m_wndToolBar1;
CToolBar m_wndToolBar2;
....
}
//.cpp
在资源Toolbar下添加两个工具栏 IDR_BAR_TOOL1 IDR_BAR_TOOL2
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
if (!m_wndToolBar1;.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar1.LoadToolBar(IDR_BAR_TOOL1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if (!m_wndToolBar2.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar2.LoadToolBar(IDR_BAR_TOOL2))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
}
int CMainFrame::ShowToolBar(BOOL bShow)
{ //可以通过bShow控制显示那个工具栏
//ShowControlBar()可以用来控制是否显示该工具栏
ShowControlBar(&m_wndToolBar1,!bShow,FALSE);
ShowControlBar(&m_wndToolBar2,bShow,FALSE);
}
//ShowControlBar()详细用法可参考MSDN
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询