1、工具栏的作用
工具栏是Windows应用程序中一个非常重要的图形界面元素,它提供了一组顺序排列的带有位图图像的按钮。有一个较为明显的好处就是在有比较多按钮的情况下,使用工具栏可以更加方便的组织和管理资源。PhotoShop的主界面上就可以很明显的看到这一点。
2、创建工具栏
第一种方式:
1、创建一个toolbar资源
2、创建一个CTooBar类的对象
3、调用Create或者CreateEx函数来创建实例
4、调用LoadToolBar函数来对资源进行加载
示例:
if (!m_wndMyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndMyToolBar.LoadToolBar(IDR_MYTOOLBAR))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_wndMyToolBar.EnableDocking(CBRS_ALIGN_ANY); //指定工具栏可以停靠
EnableDocking(CBRS_ALIGN_ANY); //指定frame框架可以被停靠
DockControlBar(&m_wndMyToolBar); //停靠工具栏
第二种方式:
1、创建一个CTooBar类的对象
2、调用Create或者CreateEx函数来创建实例
3、调用LoadBitMap函数来导入位图,该位图作为构建toolbar的按钮图标
4、调用SetButtons函数来设置按钮的风格并且为每一个按钮添加一个位图相关联
两个创建函数
BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );BOOL CreateEx(CWnd* pParentWnd, DWORD dwCtrlStyle = TBSTYLE_FLAT, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP, CRect rcBorders = CRect(0, 0, 0, 0), UINT nID = AFX_IDW_TOOLBAR);
相比Create函数,CreateEx函数多加了一个参数dwCtrlStyle用来指定扁平风格和一个rcBorders的参数来指定边框的厚度。
工具栏和控制栏的风格列表如下:
3、使用位图作为工具栏图标
if (!m_ToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP
|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)
)
{
return -1;
}
m_bitmap.LoadBitmap(IDB_BITMAP5); //加载位位图
m_ToolBar.SetBitmap(m_bitmap); //向工具栏中设置位图
UINT nIDs[] = //ID列表
{
ID_BTN_A,ID_BTN_B,ID_BTN_C,
};
m_ToolBar.SetButtons(nIDs, 3); //向按钮中设置位图图像
后面的步骤就和之前是一样的了,这里加载的就成了24bit真彩的图片了。