CButtonST的简介及使用

MFC用CButtonST类实现图片透明按钮(免费源码下载) MFC用CButtonST类实现图片透明按钮 阅读详情

现在把CButtonST类的一些函数摘列如下:

      CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。如果打算使用CButtonST的窗口不止一个,那么我建议你在VC++的Workspace | FileView中导入以上的四个文件之后,然后在SdtAfx.h文件中添加合适的include语句,如#include "BtnST.h"。

CButtonST类的所有公共成员函数(函数名按音序排列先后):
CButtonST::DrawBorder
DWORD DrawBorder(BOOL bDrawBorder = TRUE, BOOL bRepaint = TRUE)
注释:
因为CButtonST的默认显示风格是平面按钮。调用此函数用来显示按钮边框。
参数:
bDrawBorder: 值为TRUE则显示按钮边框。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行完毕。
CButtonST::DrawFlatFocus
DWORD DrawFlatFocus(BOOL bDrawFlatFocus, BOOL bRepaint = TRUE)
注释:
此函数只对平面按钮有效,调用此函数可以在按钮中显示焦点。
参数:
bDrawFlatFocus : 值为TRUE则会在平面按钮上显示焦点。
bRepaint : 值为TRUE则马上重画按钮。
返回值:
BTNST_OK: 表示函数执行成功。

CButtonST::DrawTransparent
void DrawTransparent(BOOL bRepaint = FALSE)
注释:
调用此函数来激活透明显示模式。注意,此操作是不可逆的,而且必须在按钮实例创建之后调用。函数将会在内存中保留一份窗口背景的拷贝,因此请真的有需要时才调用此函数,以免浪费内存空间。透明模式一般是在带有背景的窗口中使用。
参数:
bRepaint : 为TRUE则马上重绘按钮。

CButtonST::OffsetColor
DWORD OffsetColor(BYTE byColorIndex, short shOffset, BOOL bRepaint = TRUE)

注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。函数会根据所传递的偏移量参数以及按钮原来的默认底色产生一个新的颜色值。通过这样的方法可以使得按钮在不同状态下的颜色变化更为自然。
参数:
byColorIndex : 状态索引值,它的取值必须是以下枚举值之一。
取值注释
BTNST_COLOR_BK_IN 鼠标指针位于按钮上面时的底色
BTNST_COLOR_FG_IN 鼠标指针位于按钮上面时的前景色
BTNST_COLOR_BK_OUT 鼠标指针不在按钮上面时的底色
BTNST_COLOR_FG_OUT 鼠标指针不在按钮上面时的前景色
BTNST_COLOR_BK_FOCUS 焦点位于按钮上面时的底色
BTNST_COLOR_FG_FOCUS 焦点位于按钮上面时的前景色
*前景色一般是指文字的颜色
shOffsetColor: 指定颜色的偏移量,它的取值范围是[-255,255]。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK : 函数执行成功。
BTNST_INVALIDINDEX : 由 byColorIndex 指定状态索引值无效。
BTNST_BADPARAM : 根据偏移量生成的值超出RGB的颜色取值范围。

CButtonST::SetAlign
DWORD SetAlign(BYTE byAlign, BOOL bRepaint = TRUE)
注释:
调用此函数可以设定按钮上图标(或位图)于按钮上文字的相对位置。
参数:
byAlign: 位置参数,它的取值必须是以下枚举量之一。
取值注释
ST_ALIGN_HORIZ 图标/图片在左,文字在右
ST_ALIGN_VERT 图标/图片在上,文字在下
ST_ALIGN_HORIZ_RIGHT 图标/图片在右,文字在左
默认值为ST_ALIGN_HORIZ. 
bRepaint: 为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDALIGN: 位置参数无效。

CButtonST::SetAlwaysTrack
DWORD SetAlwaysTrack(BOOL bAlwaysTrack = TRUE)
注释:
此函数只对平面按钮有效。调用此函数可以设定按钮是否显示高亮颜色。
参数:
bAlwaysTrack: 值为TRUE时,无论前窗口是否为激活窗口,只要鼠标指针移动到按钮上面都会发按钮的显示状态发生变化。默认值为TRUE。
值为FALSE时,如果窗口未被激活,按钮的显示不会发生变化。
返回值:
BTNST_OK : 函数执行成功。

CButtonST::SetBitmaps

DWORD SetBitmaps(int nBitmapIn, COLORREF crTransColorIn, int nBitmapOut = NULL, COLORREF crTransColorOut = 0)
DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut = NULL, COLORREF crTransColorOut = 0)

注释:
调用此函数可以在按钮上显示指定的图片(Icon)。如果对同一个按钮重复调用了此函数的话,那么按钮只显示最后一次指定的图片。
参数:
nBitmapIn: 图片的ID值。当鼠标指针位于按钮之上时显示该图片。
crTransColorIn: 颜色值。ID为nBitmapIn的图片中与该颜色相同的区域将显示透明。
nBitmapOut: 图片的ID值。当鼠标指针不在按钮之上时显示该图片。
crTransColorOut: 颜色值。ID为nBitmapOut的图片中与该颜色相同的区域将显示透明。
hBitmapIn: 图片的句柄。当鼠标指针位于按钮之上时显示该图片。
crTransColorIn: 颜色值。由hBitmapIn指定的图片中与该颜色相同的区域将显示透明。
hBitmapOut: 图片的ID值。当鼠标指针不在按钮之上时显示该图片。
crTransColorOut: 颜色值。由hBitmapOut指定的图片中与该颜色相同的区域将显示透明。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDRESOURCE: 指定资源读取失败。
BTNST_FAILEDMASK: 颜色提取失败。
CButtonST::SetBtnCursor
DWORD SetBtnCursor(int nCursorId = NULL, BOOL bRepaint = TRUE)
注释:
这个函数可以让鼠标在移动到按钮上面的时候显示指定的鼠标指针。
参数:
nCursorId: 鼠标指针的ID值。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDRESOURCE: 读取指定资源失败。
CButtonST::SetCheck
DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE)
注释:
当按钮被当作CheckBox使用的时候,用来设置按钮的状态。
参数:
nCheck : 1表示选中; 0表示没选中
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。

CButtonST::SetColor
DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)
注释:
调用此函数可以设置按钮在各种状态下显示指定的底色。
参数:
byColorIndex : 状态索引值。具体含义可以参见OffsetColor函数中的参数(byColorIndex)说明。
crColor : 颜色值。设置按钮指定状态的底色。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDINDEX: 无效的状态索引值。
CButtonST::SetDefaultColors
DWORD SetDefaultColors(BOOL bRepaint = TRUE)
注释:
调用此函数之后,程序将使用默认颜色来设定按钮在各个状态下的颜色。这些颜色值可能会因为Windows版本的不同而不同。
参数:
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
CButtonST::SetFlat
DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE)
注释:
调用此函数来设置按钮的显示风格。
参数:
bFlat: 值为TRUE则显示为平面按钮; 值为FALSE则显示为标准的Windows按钮
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
CButtonST::SetIcon
DWORD SetIcon(int nIconIn, int nIconOut = NULL)
DWORD SetIcon(HICON hIconIn, HICON hIconOut = NULL)

注释:
调用此函数可以在按钮上显示指定的图标(Icon)。如果对同一个按钮重复调用了此函数的话,那么按钮只显示最后一次指定的图标。
参数:
nIconIn : 图标的ID值,当鼠标指针移动到按钮上面的时候显示该图标。如果该参数被赋值为 NULL ,则分配给这个按钮的所有图标资源将被释放。
hIconOut: 图标的ID值,当鼠标指针不在按钮上面的时候显示该图标。调用函数的时候可以忽略该参数。
hIconIn : 图标的句柄,当鼠标指针移动到按钮上面的时候显示该图标。如果该参数被赋值为 NULL ,则分配给这个按钮的所有图标资源将被释放。
hIconOut: 图标的句柄,当鼠标指针不在按钮上面的时候显示该图标。调用函数的时候可以忽略该参数。
返回值:
BTNST_OK: 表示函数执行成功。
BTNST_INVALIDRESOURCE: 表示函数执行失败,例如无法读取指定的图标资源。
CButtonST::SetMenu
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bWinXPStyle = TRUE, UINT nToolbarID = NULL, CSize sizeToolbarIcon = CSize(16, 16), COLORREF crToolbarBk = RGB(255, 0, 255), BOOL bRepaint = TRUE)
DWORD SetMenu(UINT nMenu, HWND hParentWnd, BOOL bRepaint = TRUE)

注释:
要调用此函数必须与BCMenu类一起使用。函数将为按钮指派一个菜单,当点击按钮的时候会弹出所指派的菜单。此函数的调用与宏有关,如果在代码中声明了BTNST_USE_BCMENU 宏,则应该调用SetMenu函数的第一种形式,否则应该调用SetMenu的后一种形式。
参数:
nMenu : 菜单的ID值。
hParentWnd: 菜单所属的窗口句柄。菜单选项将触发该窗口内的时间。
bWinXPStyle: 值为TRUE则会以XP风格显示菜单, 值为FALSE则会以标准风格显示菜单。
nToolbarID: 工具条的ID值。程序会将工具条中与菜单项ID值相同图片加入到菜单中。
sizeToolbarIcon: 指定工具条中每一个图标的大小,它是一个CSize 类型的实例。注意请确保工具条中所有图标的大小一致。
crToolbarBk: 颜色值。工具条图片中与该颜色相同的区域将显示为透明。
bRepaint: 值为TRUE则马上重绘按钮。
返回值:
BTNST_OK: 函数执行成功。
BTNST_INVALIDRESOURCE: 无法读取指定资源。
CButtonST::TooltipText
void SetTooltipText(int nText, BOOL bActivate = TRUE)
void SetTooltipText(LPCTSTR lpszText, BOOL bActivate = TRUE)

注释:
调用此函数可以为按钮设定提示信息。
参数:
nText: 字符串的ID值。
lpszText: 所要显示的字符串。
nActivate: 值为TRUE表示激活提示功能, 值为FALSE表示不激活提示功能。
CButtonST::SetURL
DWORD SetURL(LPCTSTR lpszURL = NULL)
注释:
调用此函数后,单击按钮将打开参数所指定的连接。
参数:
lpszURL: 包含链接信息的字符串。
返回值:
BTNST_OK: 函数执行成功。

 

转载地址: http://blog.sina.com.cn/s/blog_6111ce890100rr7v.html
MFC用CButtonST类改变按钮图片和文字实例 用鼠标点击按钮改变按钮图片、文字说明并控制其它按钮不可用 立即下载

相关推荐

btnST库-风格按钮

VC风格按钮的常用库,很好用,欢迎下载 从v3.5版本开始,CButtonST支持使用BCMenu类创建菜单 给你的button指定图标

CButtonST使用技巧(一)

   ...

weixin_34313182的博客 175

btnst文件 obdc编程

odbc源代码

CButtonST类公共接口函数的介绍

 CButtonST类是我们经常用到的一个很好的按钮扩展类,他的广泛用法可以让我们应用在很多的领域,尤其是设计界面的时候.但这个类很大,作的函数功能也很多,我整理了一下,希望对大家能更快的理解和使用他起到帮助作用. 以下是CButtonST类的所有公共成员函数(函数名按音序排列先后): CButtonST::DrawBorder DWORD DrawBorder(BOOL bDrawBorder

cherryt的专栏 1399

BtnST.zip_btnst

to improve button styles in Visual C++

CButtonST-v3.9.rar_CButtonST_CButtonST 3.9_CButtonST v3.9 _Cbutt

最新版的CButtonST按钮控件(4.1版本会有讨厌的弹窗,不能免费使用),功能非常强大,是CButton派生类,可用于美好MFC的界面,如改变按钮外观的各项功能如改变按钮外观、鼠标交互改变按钮颜色、加载按钮图片等。支持:2000,XP Vista Win7 32/64。类已封装,在VC6.0编译通过,最好安装VC 2003 SDK

CButtonST使用技巧: CButtonST简介

CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。 下图是用CButtonST做的几个按钮 以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。 作者:Davide Calabro 邮箱地址:davide_calabro@yahoo.com 个人主页:http://www.softechsoftware.it CButtonST类主要包括

sinat_38626955的博客 1570

AI智能体赋能Cypress:自动化前端测试的新范式

自动化测试是现代软件工程保障质量的核心实践,其原理是通过脚本模拟用户操作,对软件功能进行验证。随着大语言模型(LLM)和智能体(Agent)技术的发展,测试自动化正迈向智能化新阶段。智能体能够理解自然语言描述的测试需求,并自主规划、执行测试步骤,这为应对前端UI频繁变更、测试用例维护成本高等挑战提供了新思路。在工程实践中,将Cypress这一流行的前端测试框架封装为智能体可调用的标准化技能(Skill),是实现这一愿景的关键。通过设计清晰的交互协议和状态管理机制,智能体可以像人类测试工程师一样“感知”页面状

weixin_33726318的博客 686

CButtonST类简介

CButtonST是功能非常全的CButton派生类,利用它你可以实现各种按钮的效果,它包括的特征如下: 1、    CButton所有的功能 2、    文字和图标按钮 3、    16×16,32×32,48×48,16或256色图标的支持 4、    支持透明按钮 5、    支持标准的或新的平面按钮风格 6、    运行时刻按钮风格的变换 7、  

深蓝 881

PVE启动卡在loading initial ramdisk

pve显卡直通导致的异常解决

学而时习之 6690

从UART到RS485:手把手教你用SIT3485E收发器搞定工业级通信(含原理图与PCB布局要点)

本文详细解析了从UART到RS485的工业级通信转换,重点介绍了SIT3485E收发器的原理图设计、PCB布局要点及抗干扰技巧。通过差分信号传输和优化电路设计,实现长距离、多设备稳定通信,适用于工业自动化等复杂环境。

weixin_29169505的博客 350

VS2013下CButtonST使用技巧: CButtonST简介

老版本的CButtonST在VS2013下无法正常使用,主要做一下几点改写: 修改BCMenu.cpp  1.1360行 CString junk=OptionText改为CString junk=(CString)OptionText 2.运行后出现错误的地方将i修改为int i 3.在文件前面添加#pragma warning(disable: 4996)  在BtnST.cpp修改

weianluo的博客 1240

JAVA:Spring Boot3 集成 ShardingSphere 实现数据分库分表

本文介绍了基于Spring Boot和ShardingSphere-JDBC实现分库分表与读写分离的解决方案。针对高并发、大数据量场景下单库单表的性能瓶颈,通过配置ShardingSphere-JDBC实现:1)订单表按user_id和order_id分片到两个库和两张表;2)读写分离,写操作路由至主库,读操作在从库间负载均衡。方案使用Druid连接池优化,支持业务透明,无需修改SQL。

木头 660

MFC CButtonST简介

CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。 下图是用CButtonST做的几个按钮 以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。 作者:Davide Calabro 邮箱地址:davide_cala...

weixin_30723433的博客 273

【计算机视觉】语义分割实战:FCN、U-Net与DeepLab系列详解

语义分割实战:FCN、U-Net与DeepLab系列详解,人工智能、大模型、AI深度学习在计算机视觉领域取得了令人瞩目的进展,语义分割作为计算机视觉领域的关键任务,旨在将图像中的每个像素都分配到特定的类别中,实现对图像内容的精细理解。与目标检测关注物体的类别与位置不同,语义分割能够对场景中的所有元素进行像素级别的分类,这在自动驾驶、医学图像分析、遥感图像解译等众多领域都有着至关重要的应用。例如,在自动驾驶中,准确的语义分割可以帮助车辆识别道路、行人、交通标志等,为安全行驶提供决策依据;在医学图像分析中……

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 9万+

升级conda时出现Malformed version string invalid chars错误解决方案

但有时,当你使用“conda upgrade”的命令时,你可能会遇到一个错误,提示你的环境解析失败,出现“Malformed version string invalid chars”错误消息。如果以上两个步骤都没有解决你的问题,那么你可以考虑更新conda的依赖项。如果你的conda版本已经是最新的,那么你需要清理conda的缓存。最后,如果以上方法都无法解决问题,你可以尝试使用pip进行更新。如果你的conda版本过旧,你需要先更新conda。首先,你需要确认你当前使用的conda版本。

BUG?不存在的! 1409
上一篇: VS2010中将CString转换为constchar*
下一篇: 无线调试精灵
CallMeZane
博客等级 码龄15年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值