MFC使用ToolBar工具栏添加真彩色图标

来源:互联网 发布:命令启动mysql 编辑:程序博客网 时间:2024/04/30 05:12

         平常我们在开发软件中,会经常用到ToolBar,但是如果只是一般的ToolBar颜色是16色,对于那些ToolBar有高要求的软件就显得很尴尬了,这时候我可以通过利用CImageList来为我们的ToolBar添加图标,让我们的ToolBar更漂亮。

1.建立一个MFC对话框工程

2.定义个CToolBar对象

CToolBar m_ToolBar;

3.在对话框的Dlg类中自定义个CreateToolBar函数

Bool CreateToolBar();

在该函数的定义中输入以下代码:

if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP//*设置靠右放置工具栏| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_ToolBar.LoadToolBar(IDR_TOOLBAR)//加载工具栏资源){   TRACE0("Failed to create toolbar\n");return false;  }RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);CImageList ImageList;m_ToolBar.SetSizes(CSize(32,32), CSize(32,32));ImageList.Create(32,32,ILC_COLOR32 | ILC_MASK,7,1);        ImageList.SetBkColor(RGB(255,255,255));//设置背景颜色//通过ImageList对象加载图标作为工具栏的图标ImageList.Add(AfxGetApp()->LoadIconA(IDI_ACCORD));//通过CBitmap类对象来加载位图作为工具栏的图标        CBitmap bm;int bl = bm.LoadBitmap(IDB_BITMAP_WE);ImageList.Add(&bm,(CBitmap*)NULL);bm.Detach();//两种方法看个人需要m_ToolBar.GetToolBarCtrl().SetImageList(&ImageList);ImageList.Detach();return true;
这下我们就完成了我们的漂亮工具栏,运行一下程序,看一下程序的效果。