相信不少人遇到过这个问题,就是在BCGControlbar框架下的程序如果添加多个工具栏时,经常会出现工具条紊乱问题,例如两个工具条变得一样,位置乱跑等。删除掉注册信息后,首次运行没问题,再运行时又出现了同样的问题。下面是解决方案:
Be sure that each toolbar is created with its own,unique id:
Wrong (each toolbar was created with AFX_IDW_TOOLBAR ID):
void CMainFrame::OnCreate (LPCREATESTRUCT lpCreateStruct)
{
....
m_wndToolBar.Create (this, <style>);
m_wndToolBar2.Create (this, <style>);
....
}
Correct:
void CMainFrame::OnCreate (LPCREATESTRUCT lpCreateStruct)
{
....
m_wndToolBar.Create (this, <style>);
m_wndToolBar2.Create (this, <style>, id_of_second_toolbar);
....
}
Be sure that each toolbar is created with its own,unique id:
Wrong (each toolbar was created with AFX_IDW_TOOLBAR ID):
void CMainFrame::OnCreate (LPCREATESTRUCT lpCreateStruct)
{
....
m_wndToolBar.Create (this, <style>);
m_wndToolBar2.Create (this, <style>);
....
}
Correct:
void CMainFrame::OnCreate (LPCREATESTRUCT lpCreateStruct)
{
....
m_wndToolBar.Create (this, <style>);
m_wndToolBar2.Create (this, <style>, id_of_second_toolbar);
....
}