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);

  效果图如下:

更多0

MFC界面相关(彩色工具栏)的更多相关文章

  1. MFC界面相关源码

    这是这4篇MFC界面的相关源码.建议学习Visual C++的看看这2本微软官方出的教材. [MFC Windows程序设计(第2版,修订版)](美)Jeff Prosise著 [Windows程序设 ...

  2. MFC绘图相关GDI工具对象和函数介绍

    在利用MFC进行界面编程时,除了需要熟悉各种类型控件的操作外,还会经常遇到图形绘制和显示的问题,比如时频分析界面.图像处理界面等.处理这些软件界面开发问题时,不可避免地需要用到一系列GDI工具对象和相 ...

  3. windows核心编程课程实践---多线程文件搜索器(MFC界面)

    课上完了连老师见都没见一面QAQ....记录一下该小项目 效果如下: 1.实现文件搜索功能,并封装为类 1)首先是文件搜索类Rapidfinder的构造函数和析构函数和文件信息初始化函数和文件路径规格 ...

  4. dreamwaver的动态相关文件 工具栏搜索

    dreamwaver是很好的编辑工具, 用过很多ide, 对php,js, css代码来说, dw确实是很好很方便的一个工具 php本身设置了很多的 预定义常量, 函数, 可以用来获取当前运行php的 ...

  5. MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl)

    原文:MFC 状态栏相关使用(CStatusBar & CStatusBarCtrl),沙漠紫风铃 本文介绍了MFC中和状态栏相关的用法: 在MFC的的单文档应用中,在建好应用程序之后,CMa ...

  6. 【Android】7.8 MyDemos项目的结构和主界面相关代码

    分类:C#.Android.VS2015: 创建日期:2016-02-17 一.简介 上一讲已经说过,系统升级为Win10后,重新创建了一个新的项目:MyDemos,并把前7章合并到了这个项目中,这次 ...

  7. Android界面相关的类

    Android界面相关的类 Window Activity的显示界面对象,并作为顶层View被加入到WindowManager中.Window提供了标准的UI显示策略:界面背景.标题区域.默认的事件处 ...

  8. C++做四则运算的MFC计算器(一)MFC界面创建

    学习最有效的方法就是实战,这两篇文章写了做MFC加减乘除计算器的过程. 第一写前台MFC界面搭建,第二写后台计算原理及代码. MFC编程参考教程:http://www.jizhuomi.com/sch ...

  9. C#开发PACS医学影像处理系统(三):界面布局之工具栏

    工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线: XAML设计器代码: 其中  Style="{StaticResource ButtonS ...

随机推荐

  1. 基于visual Studio2013解决算法导论之027hash表

     题目 hash表,用链表来解决冲突问题 解决代码及点评 /* 哈希表 链接法解决冲突问题 */ #include <iostream> using namespace std; s ...

  2. php 遍历文件夹及文件,获取文件名和文件路径存入数据库中

    <?php header("Content-Type:text/html; charset=gbk"); require('../../include/connect.php ...

  3. android 发送短信 怎样做到一条一条的发送,仅仅有在上一条发送成功之后才发送下一条短信

    android发送短信截获上一条发送是否成功,然后再来发送下一条短信 1.问题:在项目中遇到例如以下要求:待发短信有N条,实现一条一条的发送并在上一条短信发送成功之后再来发送下一条. for(int ...

  4. Flash键盘钢琴谱

    http://hi.baidu.com/%CC%EC%CA%B9%D2%FE%D2%ED/blog/item/e763d4eac3dcfb242cf53468.html <童话>Flash ...

  5. sharePoint常用命令

    New-SPStateServiceDatabase -Name "StateServiceDatabase" | New-SPStateServiceApplication -N ...

  6. HDU1005(周期问题)

    Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * ...

  7. 【转】C++类-内存分布

    C++类内存分布 - 转载自Jerry19880126 - 博客园 的文章 在上面这篇文章的基础上做了些整理. 主要讨论了C++类对象的内存分布结构. 来看看编译器是怎么处理类成员内存分布的,特别是在 ...

  8. source insight 中文注释为乱码解决

    1. source insight 中文注释为乱码解决 http://blog.csdn.net/bingfeng1210/article/details/7527059 2. Source Insi ...

  9. BZOJ 1704: [Usaco2007 Mar]Face The Right Way 自动转身机( 贪心 )

    贪心...先枚举k, 然后从左往右扫一遍, 发现位置p的牛的状态不符合就将 [p, p + k ) 的牛都转身, 假如p + k - 1 已经超过了最右边牛的位置那这个k就不符合要求. 符合要求的就可 ...

  10. windows phone7开发环境配置错误

    遇到下面这样一个问题:在配置windows phoe7开发环境的时候出现如下错误,以及相应的解决方案,希望对大家有所帮助. 装完环境后出现下面错误: [caption id="attachm ...