CToolBar(工具栏)
关于工具栏,真没有什么可讲的,因为它足够简单,因为当我们用MFC向导生成一个单文档的程序时,它本身就拥有一个工具栏,这个工具栏的实现代码就在Fram类的.cpp文件中,我们只要将那段代码复制,然后改动一下,就会实现我们自己的工具栏,难道不是这样吗?
好了不多说了,言归正传,我们现在就去搞定它。
1. 在主框架类里添加变量:
CToolBar m_MyToolBar;
2. 在主框架类的OnCreate消息里处理创建:
if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_myToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
//下面三行实现工具栏的停靠功能
m_myToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_myToolBar);
说明一下,首先我们要在资源视图中自己创建一个工具栏资源:ID为:IDR_TOOLBAR1,然后为每个按钮添加消息响应函数,否则按钮初始化是灰化的(disable)
就这样简单。