这里给大家介绍强大的按钮类CButtonST,可以使您的程序锦上添花。

CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。先将上述4个文件复制到自己的工程,然后在VC++开发环境中打开该工程,选择【Project\Add to Project\Files…】,会弹出向工程插入文件的对话框,然后在工程所在目录选择上述4个文件,点击【OK】按钮,添加4个文件到当前工程,在SdtAfx.h文件中添加合适的include语句,如#include "BtnST.h"。

在接下来的文章中,我将根据演示程序向大家介绍CButtonST的各种常用方法。

以下是CButtonST类制作的演示界面(附有源码):

效果一:在按钮上加入Icon,使Icon和文字同时显示

假设按钮ID为IDC_BUTTON1

1. 添加成员变量

CButtonSTm_btn;

2. 添加Icon资源,设其ID设为IDI_ICON1

3. 在OnInitDialog函数中初始化按钮

m_btn.SubclassDlgItem(IDC_BUTTON1,this);

m_btn.SetIcon(IDI_ICON1);

m_btn.SetFlat(FALSE);

注意:为达到最好效果,请根据Icon的大小调整按钮的大小。

实例:演示程序中的Standar 按钮。
效果二:显示平面按钮

只需要在效果一的基础上把m_btn.SetFlat(FALSE);语句去掉。  效果三:使按钮上的图标可变

假设按钮ID为IDC_BUTTON1

1. 添加成员变量

CButtonSTm_btn;

2. 添加两个Icon资源,ID设为IDI_ICON1和IDI_ICON2

IDI_ICON1是普通状态的图标,IDI_ICON2是按下时的图标

3. 在OnInitDialog函数中初始化按钮

m_btn.SubclassDlgItem(IDC_BUTTON1,this);

m_btn.SetIcon(IDI_ICON2,IDI_ICON1);

实例:演示程序中的Halloween 按钮。 
效果四:设置按钮在不同状态下的底色和文字颜色

假设按钮ID为IDC_BUTTON1

1. 添加成员变量

CButtonSTm_btn;

2. 添加Icon资源,设其ID设为IDI_ICON1

3. 在OnInitDialog函数中初始化按钮

m_btn.SubclassDlgItem(IDC_BUTTON1,this);

m_btn.SetIcon(IDI_ICON1);

m_btn.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(208,208,208));

m_btn.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, RGB(208,208,208));

m_btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30);

提示:SetColor函数和Off

哈哈 强大的CButtonST相关推荐

  1. 窗口键 键位码_键盘上这些被冷落的键位居然有这么强大的功能

    各位小伙伴们大家好啊,又到了达尔优外设小课堂时间了,今天呢,我们将为大家带来的是键盘上的功能区按键小科普,也就是我们常说的F区按键. F区按键 F1~F12这个区域的按键我们通常称为功能键,而F的意思 ...

  2. iterm2 主题_【超级实用】Iterm2 + ohmyzsh 打造强大的终端编辑器

    作者:AndrewHR 地址:http://mrw.so/4D1n7B 最终的效果图如下所示:使用iterm2配合oh-my-zsh的命令行,拥有语法高亮.命令自动补全.自动提示符.显示git仓库状态 ...

  3. sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI m2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码. ...

  4. linux java 构建工具有哪些,Linux ant --强大的Java开发构建工具

    用途说明 ant严格说来,ant其实并非原生的Linux命令,但它是一个使用广泛.功能强大的跨平台构建工具程序,尤其是进行Java开发时,许多开源的Java项目都使用ant作为构建工具.ant命令一般 ...

  5. 收藏功能_微信强大的收藏功能,你们用了吗?

    在中国说到即时聊天工具,就得说到微信和QQ了,他们都是腾讯旗下的产品,今天麦叔要和大家聊的是微信,去年官方数据显示微信用户已超过10亿,庞大用户群体在使用它,但它的一些功能并不是每个人都会知道,今天麦 ...

  6. java图片序列化_Java中的强大武器——对象的序列化

    原标题:Java中的强大武器--对象的序列化 所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象.这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象, ...

  7. android picasso源码下载,Picasso:一个专为Android制作的强大的图片下载和缓存库

    Picasso:一个专为Android打造的强大的图片下载和缓存库 简介 在Android应用中,图片消费了大量的资源,却为应用提供了很好的视觉体验.幸运的是,Picasso为你的应用提供了非常容易的 ...

  8. Class101–如何高效地构建强大的数字绘画

    你有没有对一幅画有过很好的想法,但不知道如何开始或努力完成这个过程?这门课的目的是给你工具和理解,帮助你把想法变成现实. 所有你需要知道的基本知识. 本课程将涵盖颜色和光线的基本原理.透视构图以及使你 ...

  9. 强大的Charles的使用,强大的flutter1.9

    <a href="http://www.cocoachina.com/articles/37551?filter=ios"> 强大的Charles强大的flutter ...

最新文章

  1. matlab 坐标轴中心,matlab中怎么将坐标轴改为经纬度坐标轴
  2. 软件体系结构风格(第5-8课时)
  3. Windows Server 2012 RDS系列:虚拟桌面化(5)
  4. linux 系统优化,调优
  5. 【C++】 C++标准模板库(六) Queue
  6. 发了篇paper,双非二本的她直博浙大
  7. Learning to see in the dark【SID】论文笔记
  8. 电脑系统还原怎么操作?这个方法在电脑设置里就可以还原
  9. 看看最新的考试 c语言 noip模拟 纯llq原创作品
  10. 【基础】安卓获取当前系统SDK版本
  11. 1. 系统符号与正则符号
  12. 基于springboot+bboss整合的elasticsearch(好用的一匹)
  13. Docker基础(下)
  14. 01-leveldb概述
  15. 可视化大屏项目-大屏界面测试点梳理
  16. 【第二十四题】逻辑闭环(北理工/北京理工大学/程序设计方法与实践/小学期 )
  17. Summit Wireless全新低成本空间音频模块现已震撼上市
  18. MySQL消除笛卡尔积的方法,mysql-了解SQL中的笛卡尔积
  19. 软件工程毕业设计 SSM汽车故障报修管理系统(源码+论文)
  20. Kubernetes CKS 2021 Course【15】---Microservice Vulnerabilities - mTLS

热门文章

  1. qduoj 80 树结构重逢(树形DP)
  2. 500万软件创新大赛-你要是评委给谁投一票
  3. 高群耀谈移动电影院新愿景
  4. Redash学习笔记
  5. python基本图形绘制第二周答案_测验2: Python基本图形绘制 (第2周)-程序题
  6. iphone数据传输已取消怎么办_换新苹果了怎么传数据?iPhone数据传输技巧分享
  7. 记录 win10/Ubuntu18 双系统安装 附Ubuntu下Python,TensorFlow的使用问答
  8. python安装百度aip_百度Aip人脸识别之python代码
  9. 必备数据可视化神器,这功能太强大了!
  10. css 、 /deep/、::deep 深度选择器