如何在BCGControlBar界面库的CBCGPFormView子视图里面添加工具栏

时间:2023-12-22 20:54:50
最近有一个项目需求,需要在子视图里面添加一个新工具栏用来处理当前视图对应模块的操作。之前在对话框模式下做过添加工具栏的实现,在CBCGPFormView中添加工具栏还是头一次。在这里记录一下,给自己留个备忘,同时假如可以给同样有这样需要的人以帮助那也是极好的。
首先,在CParameterView类中声明一个CBCGPToolBar变量,代码如下:
CBCGPToolBar m_wndParameterToolBar;

其次,在CParameterView类的OnCreate消息里面添加如下代码:

if(!m_wndParameterToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC) || !m_wndParameterToolBar.LoadToolBar(IDR_PARAMETERVIEW))
{
TRACE0("Failed to create toolbar\n");
return -;
} m_wndParameterToolBar.EnableDocking(CBRS_ALIGN_ANY); CRect ParameterToolBar(, , , );
m_wndParameterToolBar.MoveWindow(ParameterToolBar);

其中,IDR_PARAMETERVIEW是新创建的工具栏资源,需要提前创建好,创建完之后一定要进行MoveWindow操作,否则看不到工具栏。