1. Insert a New ToolBar in MainFrame.
1) Build a New Resource, you can name it as "IDR_NEW_TOOLBAR"
2) Add a new var. e.g.: CToolBar m_wndNewToolbar;//成员变量
3) Add a message.//if exist, pls don't add.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
4) Modify OnCreat()
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//拷贝OnlineHelp
if (!m_wndNewToolBar.Create(this) ||
!m_wndNewToolBar.LoadToolBar(IDR_NEW_TOOLBAR))
{
TRACE0("未能创建工具栏 ");
return -1; // 未能创建
}
//
}
5) Add other action.
添加停靠行为:
m_wndNewToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndNewToolBar);
遇到问题:
1)不能加消息句柄;
先在vs资源管理器中切换到"类视图"->"属性视图“->闪电符号
2) 加了以后调试不能通过:
问题原因,删除了原来的Oncreate
1) Build a New Resource, you can name it as "IDR_NEW_TOOLBAR"
2) Add a new var. e.g.: CToolBar m_wndNewToolbar;//成员变量
3) Add a message.//if exist, pls don't add.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);4) Modify OnCreat()
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
//拷贝OnlineHelp
if (!m_wndNewToolBar.Create(this) ||
!m_wndNewToolBar.LoadToolBar(IDR_NEW_TOOLBAR))
{
TRACE0("未能创建工具栏 ");
return -1; // 未能创建
}
//
}添加停靠行为:
m_wndNewToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndNewToolBar);遇到问题:
1)不能加消息句柄;
先在vs资源管理器中切换到"类视图"->"属性视图“->闪电符号
2) 加了以后调试不能通过:
问题原因,删除了原来的Oncreate
本文详细介绍如何在MFC应用程序的主窗口中插入新的工具栏,包括新建资源、添加成员变量、修改OnCreate函数等内容,并提供了调试过程中可能遇到的问题及解决办法。

8021

被折叠的 条评论
为什么被折叠?



