动态生成工具栏

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:55:50
我在CMainFrame的头文件中实例化一个CToolBar的对象:m_toolbar

再建立一个按钮,给其定义消息响应函数:
m_toolbar.Create(this);
m_toolbar.LoadToolBar(IDR_NEWTOOLBAR);
ShowWindow(SW_SHOW);

__________________________________________________________

但是点击按钮没有办法显示出工具栏,为什么?

m_toolbar.Create(this);
m_toolbar.LoadToolBar(IDR_NEWTOOLBAR);
之后还有三步:
m_toolbar.EnableDocking(CBRS_ALIGN_ANY);//将工具栏的属性设为能够停靠在窗口边上,不停靠的工具栏就是浮动工具栏
EnableDocking(CBRS_ALIGN_ANY);//这个函数是CFrameWnd的,将框架窗口属性也设置为允许工具栏停靠在它边上
DockControlBar(&m_toolbar);//指定窗口具体停靠哪个工具栏
另外,你这个消息函数还缺少判断。需要先判断m_toolbar是否已经加载工具栏了,否则重复调用就是个问题!当然,也可以在工具栏被加载后,把这个菜单项给disable掉。