VS2008 MDI 子窗体 CMDIChildWndEx 创建工具栏的问题
我用VS2008MFC向导生成了一个MDI工程,其中想在子窗体中加载工具栏,但是把父窗口中的CMFCToolBar的代码加入到子窗口中create,程序运行时却不显示工具...
我用VS2008 MFC 向导生成了一个MDI工程,其中想在子窗体中加载工具栏,但是把父窗口中的CMFCToolBar的代码加入到子窗口中create,程序运行时却不显示工具栏,但是点击“视图”-》“工具栏和停靠窗口”,对界面自定义一下后,就有了工具栏,说明工具栏已经成功加载,请问如何解决这个问题。
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
return 0;
}
补充一下,同样的做法在VS2005中就可行
回复 silvergingko,您的回答貌似不对,这三句话只是用于Docking的,VS2005中不使用也可以正确显示工具栏,而VS2008子窗体中即使用了这三句话,显示仍旧异常…… 展开
int CChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CMDIChildWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
return 0;
}
补充一下,同样的做法在VS2005中就可行
回复 silvergingko,您的回答貌似不对,这三句话只是用于Docking的,VS2005中不使用也可以正确显示工具栏,而VS2008子窗体中即使用了这三句话,显示仍旧异常…… 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询