最终实现的效果图:

步骤一:接下来在资源视图中添加一个ToolBar工具栏(具体怎么添加在这儿就不详细讲解了!)
添加后的ToolBar以及工具栏中每个按钮 所命名的ID如下:(可以自定义,只要不重名就可以,一般命名规则是见名知义)

那么在资源视图中的工具栏,我们就制作完成了!!
步骤二:以上仅仅是进行了按钮的添加,而按钮上面那些相对应的 图片还没有导入,应该将图片导入到资源视图中的Icon中,格式必须为 *.ico,并对每张ICO图片也进行ID的分配

步骤三:打开代码添加一个 InitToolBar() 函数成员

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,,reposQuery,rcClientNew); //创建位图 CImageList
HICON hIcon = NULL ;
img.Create(,,ILC_COLOR32 | ILC_MASK,,);//加载图片大小,图片格式,图片数量
COLORREF co = GetSysColor(COLOR_WINDOW); img.SetBkColor(co); hIcon =(HICON) ::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_ADD),IMAGE_ICON,,,);//导入添加学生图片0
img.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_DEL),IMAGE_ICON,,,);//导入删除学生图片1
img.Add(hIcon); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_STU_CHECK),IMAGE_ICON,,,);//导入查询学生图片2
img.Add(hIcon); //添加按钮信息
m_toolbar.GetToolBarCtrl().SetImageList(&img);
m_toolbar.SetButtons(NULL,); m_toolbar.SetButtonInfo(,IDC_TOOLBAR_ADDSTD,TBSTYLE_BUTTON,);
m_toolbar.SetButtonText(,_T("添加学生")); m_toolbar.SetButtonInfo(,-,TBSTYLE_SEP,-);
m_toolbar.SetButtonText(,_T("")); m_toolbar.SetButtonInfo(,IDC_TOOLBAR_DELSTD,TBSTYLE_BUTTON,);
m_toolbar.SetButtonText(,_T("删除学生")); m_toolbar.SetButtonInfo(,-,TBSTYLE_SEP,-);
m_toolbar.SetButtonText(,_T("")); m_toolbar.SetButtonInfo(,IDC_TOOLBAR_CHECKSTD,TBSTYLE_BUTTON,);
m_toolbar.SetButtonText(,_T("查询学生")); m_toolbar.SetButtonInfo(,-,TBSTYLE_SEP,-);
m_toolbar.SetButtonText(,_T("")); //设置工具栏按钮大小
CRect rectToolBar;
m_toolbar.GetItemRect(,&rectToolBar);
m_toolbar.SetSizes(rectToolBar.Size(),CSize(,));
m_toolbar.SetSizes(CSize(,),CSize(,)); m_toolbar.EnableToolTips(TRUE);
// m_toolbar.ShowWindow(SW_SHOW);
return TRUE;
}

步骤四:然后将InitToolBar()函数添加到InitDialog()中!
以上就是所有的ToolBar工具栏的添加过程!

我们在对InitDialog()进行一个详细的剖析:后续

MFC 学习 之 工具栏的添加(一)的更多相关文章

  1. MFC 学习 之 状态栏的添加

    1.首先声明一个 CStatusBar  m_bar;//声明对象2.然后打开视图资源 String Table中添加两个字段值 3.创建了两个字段值以后,在OnintDialog() 所在的 .cp ...

  2. MFC 学习 之 菜单栏的添加

    运行环境:vc++ 6.0    win81.通过资源 添加一组  菜单栏  如下: 2.在OnInitDialog()中添加如下代码: // Add "About..." men ...

  3. MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变

    1.在ResourceView里加入Toolbar资源,命名IDR_TOOLBAR1 2.在主程序的.h文件中加入变量:           CToolBar m_toolbar;CImageList ...

  4. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  5. VC MFC在CMFCToolBar工具栏中加入组合框

    如何在CMFCToolBar工具栏中加入组合框等控件,且先看在线MSDN上怎么说的: 要增加一个组合框,需要完成以下步骤: 1.在工具栏资源中,增加一个对应ID资源号的按钮. 2.在主框架(mainf ...

  6. MFC如何在树形图边上添加动态小地图

    MFC如何在树形图边上添加动态小地图 https://www.jianshu.com/p/7b1d828bf5db (简书无法识别缩进的...早知道先在博客园发了) (转载请注明出处) 作者:梦镜谷雨 ...

  7. 学习Angularjs向数据库添加数据

    今天学习angularjs向数据库添加数据. 学习此篇,得从以往几篇开始,因为那还有创建数据表等演示. 现在来创建一个添加的存储过程: SET ANSI_NULLS ON GO SET QUOTED_ ...

  8. MFC学习笔记1---准备工作

    什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...

  9. 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

随机推荐

  1. python 对数函数

    from math import logfrom math import e print e #自然对数print log(e) #log函数默认是以e为底print log(100,10) #以10 ...

  2. memcache保存php的session 解决多服务器的session问题

    PECL :: Package :: memcache 2.1.1 版本的 Changelog 中有一条: - Added experimental session storage support. ...

  3. oracle 常用语句

    创建用户及授权create temporary tablespace test_temp tempfile 'C:\oracle\product\10.2.0\oradata\hszxdbtemp.d ...

  4. 自定义View--一个简单地圆形Progress效果

    先看效果图吧 我们要实现一个自定义的再一个圆形中绘制一个弧形的自定义View,思路是这样的: 先要创建一个类ProgressView,继承自View类,然后重写其中的两个构造方法,一个是一个参数的,一 ...

  5. ylb:子查询(嵌套子查询)和子查询(相关子查询)

    ylbtech-SQL Server:SQL Server-子查询(嵌套子查询)和子查询(相关子查询) SQL Server 子查询(嵌套子查询)和子查询(相关子查询). 1,ylb:1,子查询(嵌套 ...

  6. Java并发编程-可重入锁

    可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍可以获取该锁而不受影响.在JAVA环境下 ReentrantLock 和synchronized 都是 可重入锁. publ ...

  7. Epic - Snake Sequence

    You are given a grid of numbers. A snakes equence is made up of adjacent numbers such that for each ...

  8. Redhat=》中文

    我的redhat安装时没有提示语言选项,由于工程需要,支持汉字是不可避免的,因此就必须安装中文输入法. 安装中文包 将系统光盘镜像文件连接至计算机,我的镜像是RHEL5.1的,先将光盘挂载至/mnt目 ...

  9. Codeforces Educational Codeforces Round 15 C. Cellular Network

    C. Cellular Network time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  10. 通过扩展让ASP.NET Web API支持JSONP -摘自网络

    同源策略(Same Origin Policy)的存在导致了“源”自A的脚本只能操作“同源”页面的DOM,“跨源”操作来源于B的页面将会被拒绝.同源策略以及跨域资源共享在大部分情况下针对的是Ajax请 ...