一、创建工具栏

1、在MFC工程,找到“资源视图”界面,右键添加资源,选择Toolbar,点击新建:

2、修改工具条属性:

3、添加工具:

  新建ToolBar后,会自动生成一个工具,编辑ID后,工具条后面会自动新增一个空白的工具。

4、删除工具:

  按Delete键或者右键工具删除,都是删除工具里面的图标内容,无法真正删除工具。选中工具条中需要删除的工具,长按拖出工具条即可删除该项工具。

5、为工具添加图标:

  逐个添加工具条里面的各个工具,可以在网上下载、截图。然后在此界面右键粘贴即可。

  导入图标后,可以通过打开外部编辑器在画图工具下编辑图标。导入的每个图标记得要修改ID属性。

  注意:为工具添加图标后,一般情况无法去除工具背景色,需要利用特殊工具进行处理,后续会提到。

6、创建工具条,将创建工具条的代码添加到对应的初始化函数中即可:

BOOL CDormDlg::InitToolBar()
{
initializeFlag = TRUE; //创建ToolBar工具条
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_TOOLBAR1))
{
TRACE0("Failed to Create Dialog ToolBar\n");
EndDialog(IDCANCEL);
}
CRect rcClientOld;
CRect rcClientNew; GetClientRect(rcClientOld);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rcClientNew); //创建位图 CImageList
HICON hIcon = NULL ;
img.Create(32,32,ILC_COLOR32 | ILC_MASK,3,3);//加载图片大小,图片格式,图片数量
COLORREF co = GetSysColor(COLOR_WINDOW); img.SetBkColor(co); hIcon =(HICON) ::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_ADD),IMAGE_ICON,32,32,0);//导入添加学生图片0
img.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_DEL),IMAGE_ICON,32,32,0);//导入删除学生图片1
img.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_CHECK),IMAGE_ICON,32,32,0);//导入查询学生图片2
img.Add(hIcon); //添加按钮信息
m_toolbar.GetToolBarCtrl().SetImageList(&img);
m_toolbar.SetButtons(NULL,6); m_toolbar.SetButtonInfo(0,IDC_TOOLBAR_ADDSTD,TBSTYLE_BUTTON,0);
m_toolbar.SetButtonText(0,_T("添加学生")); m_toolbar.SetButtonInfo(1,-1,TBSTYLE_SEP,-1);
m_toolbar.SetButtonText(1,_T("")); m_toolbar.SetButtonInfo(2,IDC_TOOLBAR_DELSTD,TBSTYLE_BUTTON,1);
m_toolbar.SetButtonText(2,_T("删除学生")); m_toolbar.SetButtonInfo(3,-1,TBSTYLE_SEP,-1);
m_toolbar.SetButtonText(3,_T("")); m_toolbar.SetButtonInfo(4,IDC_TOOLBAR_CHECKSTD,TBSTYLE_BUTTON,2);
m_toolbar.SetButtonText(4,_T("查询学生")); m_toolbar.SetButtonInfo(5,-1,TBSTYLE_SEP,-1);
m_toolbar.SetButtonText(5,_T("")); //设置工具栏按钮大小
CRect rectToolBar;
m_toolbar.GetItemRect(0,&rectToolBar);
m_toolbar.SetSizes(rectToolBar.Size(),CSize(40,30));
m_toolbar.SetSizes(CSize(80,50),CSize(40,30)); m_toolbar.EnableToolTips(TRUE);
// m_toolbar.ShowWindow(SW_SHOW);
return TRUE;
}

  

7、添加工具按钮响应消息:

BEGIN_MESSAGE_MAP(CFMSTechApp, CWinApp)
ON_COMMAND(ID_DATA_MGR_EXAM, &CFMSTechApp::OnDataMgrExam)//响应命令
ON_UPDATE_COMMAND_UI(ID_DATA_MGR_EXAM, &CFMSTechApp::OnUpdateDataMgrExam)//UI状态控制
END_MESSAGE_MAP()

  

二、处理工具栏图标背景透明

1、使用辅助工具BCGToolbarEditor.exe

2、打开工具BCGToolbarEditor.exe,选择打开需要添加工具栏的项目,*.vcxproj

3、选择需要编辑的图标,导入资源图片

4、加载图标资源

5、编辑完成后,保存工具栏。重新加载MFC项目,工具栏背景即被去除掉。

6、下载链接:https://files.cnblogs.com/files/ly940120/Designer.rar

最新文章

  1. python下ssh的简单实现
  2. cocos2dx游戏开发——微信打飞机学习笔记(四)——GameScene的搭建
  3. node.js express的安装过程
  4. Tesseract-OCR 字符识别---样本训练
  5. VC 宏与预处理使用方法总结
  6. eclipse 的小技巧
  7. .Net规则引擎Biztalk,Workflow和CKRule的比较
  8. Java SE (2)之 Graphics 画图工具
  9. ecshop首页调用某分类下的商品|assign_cat_goods()
  10. python学习——编码
  11. 输入和输出--File类
  12. Eureka配置instanceId显示IP
  13. java 从指定行读文件,执行系统命令
  14. AngularJS初识
  15. Struts2框架笔记02_API_结果页面配置_数据的封装
  16. devstack 安装(centos7)
  17. PLSQL 使用ODBC 数据源导入来自SQLSERVER的数据
  18. A1041. Be Unique
  19. (转)sublime text3简体中文版汉化教程
  20. 矩阵乘法np.dot()及np.multipy()区别

热门文章

  1. 关于在layui中的table checkbox 默认选中设置
  2. CORS(cross-origin-resource-sharing)跨源资源共享
  3. 将python的字典格式数据写入excei表中
  4. vue之冒泡阻止
  5. linux工具集
  6. 13.浏览器屏幕缩放bug修复
  7. Hadoop集群搭建(二)~centos6.8的安装
  8. 在Servlet端获取html页面选中的checkbox值,request获取页面checkbox(复选框)值
  9. datetime和time
  10. Spark作业提交至Yarn上执行的 一个异常