假设工具栏有两个按钮,为每个按钮添加图标和文字

1.新建一个单文档程序,将准备好的图标资源(32×32)复制到res文件夹.

2.在资源中打开工具栏编辑器,删除(del)原有的位图和多余的按钮(将按钮拖出工具栏即可删除),并为每个按钮修改ID(双击),比如ID_BTN1~ID_BTN2,可在Prompt中输入提示.

3.右键单击资源中的Icon,导入res文件夹中准备好的图标,默认为IDI_ICON1~IDI_ICON2

4.在MainFrm.h中添加三个保护成员变量 CImageList  m_ImageList; SIZE   m_sizeMax;
 BOOL   m_bTextTips;和一个保护成员函数void UpdateToolBar(BOOL bRecalc);

5.在MainFrm.cpp中添加全局指针数组static TCHAR *TextTips[] = {_T("按钮1文字"), _T("按钮2文字"),

在构造函数中添加 m_bTextTips = TRUE;

完善成员函数void CMainFrame::UpdateToolBar(BOOL bRecalc)
{
 CRect rect;
 SIZE sizeButton,sizeImage;
 if (bRecalc)
 {
  m_sizeMax.cx = 0;
  m_sizeMax.cy = 0;
  //取得最大尺寸
  for (int i=0;i<m_wndToolBar.GetCount();i++)
  {
   m_wndToolBar.SetButtonText( i, TextTips[i] );
   m_wndToolBar.GetItemRect( i, rect );
   m_sizeMax.cx = __max( rect.Size().cx, m_sizeMax.cx );
   m_sizeMax.cy = __max( rect.Size().cy, m_sizeMax.cy );
  }
 }
 //设置按钮尺寸
 sizeButton.cx = m_bTextTips ? m_sizeMax.cx : 55;
 sizeButton.cy = m_bTextTips ? m_sizeMax.cy : 52;
 sizeImage.cx = 32;
 sizeImage.cy = 32;
 m_wndToolBar.SetSizes( sizeButton, sizeImage );
 ShowControlBar( &m_wndToolBar, FALSE, FALSE );
 ShowControlBar( &m_wndToolBar, TRUE, FALSE);
 m_wndToolBar.RedrawWindow( );
}

在OnCreate()函数m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);语句之前添加m_ImageList.Create( 32, 32, TRUE|ILC_COLOR8, 4, 0 );
HICON hIcon = NULL;

hIcon = (HICON)::LoadImage( ::AfxGetInstanceHandle(),
        MAKEINTRESOURCE( IDI_ICON1 ),
        IMAGE_ICON,
        32, 32, 0 );
 m_ImageList.Add( hIcon );
 hIcon = (HICON)::LoadImage( ::AfxGetInstanceHandle(),
        MAKEINTRESOURCE( IDI_ICON2 ),
        IMAGE_ICON,
        32, 32, 0 );
 m_ImageList.Add( hIcon );

m_wndToolBar.GetToolBarCtrl().SetImageList( &m_ImageList );

在return 0;语句之前添加UpdateToolBar( TRUE );

6.编译运行程序可见改动后的工具栏.此时的工具栏是灰色不可用的,在classwizard中为每个按钮ID_BTN1~ID_BTN2添加COMMAND消息之后,工具栏变亮!

给工具栏按钮添加图标和文字相关推荐

  1. 单文档工具栏按钮添加文字

    单文档工具栏按钮添加文字 流程 流程 1.创建一个单文档的工程 2.修改MainFrm.cpp,主要是调用SetToolBarBtnText给button加上文字. if (!m_wndToolBar ...

  2. QT 为按钮添加图标并设置透明

    QT 为按钮添加图标并设置透明 qt中自带的控件有时不能满足我们的需求,这时可以自定义一些控件,最简单的是将按钮变成我们想要的图标,在尝试的过程中有一个按钮的阴影问题,我的想法是添加图标后就完全看不到 ...

  3. MFC之按钮添加图标

    MFC之按钮添加图标 一.在资源编辑器中添加一个按钮,把它的Bitmap属性设为true 二.在按钮上点右键,添加一个变量m_Btn(CButton类型的) 三.将图片导入到资源管理器中,ID为IDB ...

  4. Qt之按钮左边图标右边文字

    一.前言 软件开发过程中,会遇到这样的需求,一个按钮要携带图标和文字,且图标在左,文字在右,以此来增强这个按钮的功能指向,这个样式在移动端还是蛮常见的,最典型就是搜索栏. 二.在Qt中有两种方式可以实 ...

  5. javafx 图片作按钮_JavaFX按钮添加图标的方法

    布局文件 jianshu.xml xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.soft1841.samp ...

  6. wpf 按钮添加图标

    1.打开iconfont添加自己想要的图标到购物车 2.下载代码到本地 3.wpf项目里新建文件夹Fonts,并把iconfont.ttf拷贝进来 4.这一步很关键,将文件生成为资源,要不然在xaml ...

  7. Qt5中工具栏中添加图标并在工具栏下利用分隔符分布图标

    如题:按照<Qt5.9C++开发指南>samp6_3例子: 点击新建图标,编辑名称/文本/快捷键(此处不用),然后按住这些Action拖拽至工具栏下形成基本的工具栏,但这些工具图标最好加入 ...

  8. android给按钮添加图标,为Android应用添加图标

    在Qt Creator中想要修改Android应用程序的图标,首先添加安卓配置文件. 在"项目" > "套件"中点击"Creator Templ ...

  9. Flex 按钮添加图标

    第一种是在Flex应用中创建一个变量,利用[Bindable]和[Embed] ,在代码中以参数形式传入制定图标(icon)的路径,然后利用类似icon="{Icon}"的代码嵌入 ...

最新文章

  1. SQL 利用merge 同步数据库之间表的数据
  2. Windows Shell 学习 3
  3. jsp + js + 前端弹出框
  4. 如何保护企业网络免受勒索软件攻击 Vecloud微云
  5. gcc/g++ 编译器出现 undefined reference to ‘这里是函数名‘,往往意味这这个函数没有定义
  6. linux 使用退格键时出现^H解决方法
  7. zigbee协议_智能家居的ZigBee到底是什么?和Wi-Fi有何区别?
  8. logistic 回归_具有Logistic回归的优秀初学者项目
  9. css改变谷歌浏览器的滚动条样式
  10. CF573E-Bear and Bowling【dp,平衡树】
  11. 不错的电子书下载网站
  12. python中元组和列表的区别_Python 序列:列表、元组
  13. java面试宝典第五版,《程序员面试宝典(第5版)》和《Java程序员面试宝典(第4版)》的一些看法......
  14. 《花花公子》的封面女郎,计算机图像界的女神
  15. win7网上邻居_win7系统网上邻居在哪
  16. python爬取知乎热搜_python爬取知乎
  17. 谷歌中阻止冒泡在火狐中失效_如何在Google表格中乘数字
  18. 结构化数据,半结构化数据,非结构化数据(区别)
  19. 微型计算机期末考试复盘(知识点总结)
  20. 论文写作-Latex问题和工具

热门文章

  1. 懂车帝:2018汽车行业大数据报告(附下载)
  2. 懂车帝与蛋蛋订车两大平台对比
  3. 电影学英语系列:双字幕电影
  4. iOS视频通话问题总结及心路历程。。。
  5. Excel如何对单元格内的分隔数据进行求和操作?
  6. CMD快捷指令之磁盘检查(管理员身份运行命令提示符)
  7. 第三章 Elasticsearch Query DSL -- 查询
  8. 已解决 vmware 虚拟机安装后没有虚拟网卡问题
  9. Div+CSS网页设计(HTML5)
  10. microLED可能在智能手机市场取代OLED