MFC界面相关(彩色工具栏)
MFC工具栏控件
创建工具栏步骤:
(1)在Resource View中插入新toolbar
(2)在toolbar上双击增加按钮,更改ID为ID_BUTTON,编译后在resource.h中即可看到
#define ID_BUTTON1 32771
(3)在框架类中添加保护的成员变量 CToolBar m_MyToolBar;
(4)在框架类的OnCreate中用CreateEx创建工具栏控件(设置属性),加载工具栏资源
代码如下:
if (!m_MyToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_LEFT
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_MyToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
m_MyToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_MyToolBar);
(5)为工具栏按钮添加消息响应函数,否则按钮为灰色
在框架类Add Window Message Handle, 选择ID_BUTTON,添加消息响应。
具体添加的代码为:1.框架类的声明中afx_msg void OnButton1();
2.框架类的源文件中ON_COMMAND(ID_BUTTON1, OnButton1)
3.框架类的源文件中消息响应函数的实现void CMainFrame::OnButton1() {}
bmp工具栏(开始步骤同上略去)
(1)在Resource View中添加bitmap (在此之前先用画图工具将bitmap调整至合适大小,如48*48),同样编译后可在
resource.h中观察到#define IDB_BITMAP1 132
(2)在框架类中添加成员变量CImageList m_imagelist;
(3)初始化imagelist并将它与CImageList对象联系起来
m_imagelist.Create(48,48,ILC_COLOR32|ILC_MASK,0,0);
ILC_MASK的作用是将背景色透明。
(4)加载位图资源并且添加进图像列表imagelist(注意要用deleteObject释放之前加载的资源)
CBitmap bmp;
for(int i=0;i<3;++i)
{
bmp.LoadBitmap(IDB_BITMAP1+i);
m_imagelist.Add(&bmp,RGB(255,255,255));
bmp.DeleteObject();
}
(5)构建一个ToolBar 按钮ID的数组
UINT nArray[3];
for(int k=0;k<3;++i)
{
nArray[k]=ID_BUTTON1+i;
}
(6)设置工具栏按钮的ID,按钮与位图的大小
m_MyToolBar.SetButtons(nArray,3);
m_MyToolBar.SetSizes(CSize(55,55),CSize(48,48));
复制代码
(7)设置图像
m_MyToolBar.GetToolBarCtrl().SetImageList(&m_imagelist);
效果图如下:

MFC界面相关(彩色工具栏)的更多相关文章
- MFC界面相关源码
这是这4篇MFC界面的相关源码.建议学习Visual C++的看看这2本微软官方出的教材. [MFC Windows程序设计(第2版,修订版)](美)Jeff Prosise著 [Windows程序设 ...
- MFC绘图相关GDI工具对象和函数介绍
在利用MFC进行界面编程时,除了需要熟悉各种类型控件的操作外,还会经常遇到图形绘制和显示的问题,比如时频分析界面.图像处理界面等.处理这些软件界面开发问题时,不可避免地需要用到一系列GDI工具对象和相 ...
- windows核心编程课程实践---多线程文件搜索器(MFC界面)
课上完了连老师见都没见一面QAQ....记录一下该小项目 效果如下: 1.实现文件搜索功能,并封装为类 1)首先是文件搜索类Rapidfinder的构造函数和析构函数和文件信息初始化函数和文件路径规格 ...
- dreamwaver的动态相关文件 工具栏搜索
dreamwaver是很好的编辑工具, 用过很多ide, 对php,js, css代码来说, dw确实是很好很方便的一个工具 php本身设置了很多的 预定义常量, 函数, 可以用来获取当前运行php的 ...
- MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl)
原文:MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl),沙漠紫风铃 本文介绍了MFC中和状态栏相关的用法: 在MFC的的单文档应用中,在建好应用程序之后,CMa ...
- 【Android】7.8 MyDemos项目的结构和主界面相关代码
分类:C#.Android.VS2015: 创建日期:2016-02-17 一.简介 上一讲已经说过,系统升级为Win10后,重新创建了一个新的项目:MyDemos,并把前7章合并到了这个项目中,这次 ...
- Android界面相关的类
Android界面相关的类 Window Activity的显示界面对象,并作为顶层View被加入到WindowManager中.Window提供了标准的UI显示策略:界面背景.标题区域.默认的事件处 ...
- C++做四则运算的MFC计算器(一)MFC界面创建
学习最有效的方法就是实战,这两篇文章写了做MFC加减乘除计算器的过程. 第一写前台MFC界面搭建,第二写后台计算原理及代码. MFC编程参考教程:http://www.jizhuomi.com/sch ...
- C#开发PACS医学影像处理系统(三):界面布局之工具栏
工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线: XAML设计器代码: 其中 Style="{StaticResource ButtonS ...
随机推荐
- POJ 2479 不相交最大子段和
题目意思还是很好理解的,在一个数列中,找出不相交的两个子串使得其和最大. 解题思路: 对于每个i来说,求出[0 ~ i - 1] 的最大子段和以及[i ~ n - 1]的最大子段和,在加起来,求最大的 ...
- Ubuntu 12.04 安装JDK 8和Eclipse
Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装时附加openjdk等大量程序并无法去除,长处是安装简单) $ sudo apt-get install eclipse 方法二:(长处 ...
- vc中关于 directx的配置,和dxsdk_extras(directshow)
2009-11-10 0:28 此文章:自己编写 转载于<汤姆&杰瑞> DirectShow 1 -- 下载与VC配置 1 DirectX SDK9 Directshow sd ...
- 05-OC多态
目录: 一.继承的缺陷 二.为什么使用继承 三.组合和聚合 四.多态 回到顶部 一.继承的缺陷 1 提高了程序的复杂度,维护性和扩展性低 2 破坏了类的封装性 回到顶部 二.为什么使用继承 1 代码复 ...
- 几种能在O(n*log(n))时间排序
线性时间排序 各种排序算法总结已经介绍了几种能在O(n*log(n))时间内培训n个数的算法.归并排序和堆排序达到了最坏情况下的上界:快速排序在平均情况下达到该上界.这些算法都有一个有趣的性质:在 ...
- WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]
原文:WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇] 在[WS标准篇]中我花了很大的篇幅介绍了WS-MEX以及与它相关的WS规范:WS-Policy.WS-Tra ...
- 阿里云ECS专有网络产品三个步骤配置教程
阿里云ECS专有网络产品三个步骤配置教程 阿里云专有网络节点已开通地域:美国硅谷可用区1B,新加坡可用区A,北京可用区A,深圳可用区A,杭州可用区D,上海可用区B 举个栗子:购买 美国硅谷可用区1B ...
- [置顶] c#验证码识别、图片二值化、分割、分类、识别
c# 验证码的识别主要分为预处理.分割.识别三个步骤 首先我从网站上下载验证码 处理结果如下: 1.图片预处理,即二值化图片 *就是将图像上的像素点的灰度值设置为0或255. 原理如下: 代码如下: ...
- 如何在VC中显示透明背景位图
简单的调用系统API. Windows NT/2000/XP: Included in Windows 2000 and later.Windows 95/98/Me: Included in Win ...
- hdoj 1286 找新朋友 【数论之欧拉函数】
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...