首页 CButtonST按钮教程

CButtonST按钮教程

举报
开通vip

CButtonST按钮教程CButtonST按钮教程 CButtonST按钮教程 - kangwang1988 - 博客园 Sunshine的空间 博客园 首页 新随笔 新文章 联系 订阅 管理 posts - 208,comments - 5,trackbacks - 0 日一二三四五六 303112345 6789101112 13141516171819 20212223242526 27282930123 45678910 昵称:kangwang1988 园龄:1年7个月 粉丝:1 关注:0 +加...

CButtonST按钮教程
CButtonST按钮 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 CButtonST按钮教程 - kangwang1988 - 博客园 Sunshine的空间 博客园 首页 新随笔 新文章 联系 订阅 管理 posts - 208,comments - 5,trackbacks - 0 <2010年6月> 日一二三四五六 303112345 6789101112 13141516171819 20212223242526 27282930123 45678910 昵称:kangwang1988 园龄:1年7个月 粉丝:1 关注:0 +加关注 搜索 常用链接我的随笔 我的评论 我的参与 最新评论 我的标签 最新随笔1. Android 对话框(Dialog)大全 建立你自己的对话框(转) 2. XML布局文件 3. android 颜色值 代码 4. 20款免费公司企业wordpress主题 5. 10个开源的PHP网站内容管理系统 6. [程序] UCenter Home 2.0 正式版发布并提供下载 7. UCenter 1.5.0 安装图文教程 8. java.lang.noclassdeffounderror: org/jaxen/jaxenexception 转自 csdn 9. java 使用 xml 查找遍历 10. JAVA操作XML的完整例子——W3C DOM篇 转帖 随笔分类(191)程序软件相关(164) 科研博客(14) 硬件相关(1) 自己(12) 随笔档案(208)2011年10月 (13) 2011年9月 (2) 2011年8月 (5) 2011年7月 (8) 2011年6月 (12) 2011年5月 (29) 2011年4月 (20) 2011年3月 (14) 2011年2月 (16) 2011年1月 (2) 2010年12月 (8) 2010年11月 (4) 2010年10月 (10) 2010年9月 (17) 2010年8月 (9) 2010年7月 (12) 2010年6月 (12) 2010年5月 (1) 2010年4月 (14) 相册王康 喜欢的歌手 积分与排名 积分 - 12800 排名 - 7137 最新评论1. Re:Android 对话框(Dialog)大全 建立你自己的对话框(转) 来看看王康同学 呵呵 --日光倾城 2. Re:MFC 获取各种指针 这些东西经常用到, 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 的很全面,节省了不少时间 --huacm6171 3. Re:windows7 下U盘不能识别的解决方法 周末遇到了同样的问题,还没有解决呢,晚上回去按你的方法试一下。 --张子芳 4. Re:臭美一下--HIC 找一个人,试试运气看~浙江金华的王丰,十年前就读西安交通大学~~ --263473765 5. Re:《孙鑫老师谈如何学好编程》摘要 学习了~ --lerit 阅读排行榜1. VC中使用GetModuleFileName获取应用程序路径 转帖(3754) 2. 未能卸载该设备。启动计算机时可能需要该设备(1644) 3. 转 VS2008与VC6.0的变化(1221) 4. windows7 下U盘不能识别的解决方法(979) 5. 'HCRYPTHASH' : undeclared identifier 类似错误的解决办法(831) 评论排行榜1. Android 对话框(Dialog)大全 建立你自己的对话框(转)(1) 2. MFC 获取各种指针(1) 3. 臭美一下--HIC(1) 4. 《孙鑫老师谈如何学好编程》摘要(1) 5. windows7 下U盘不能识别的解决方法(1) 推荐排行榜1. MFC程序的启动与死亡顺序(转)(1) 2. 有道难题小结(1) 3. 《孙鑫老师谈如何学好编程》摘要(1) CButtonST按钮教程 CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。 下图是用CButtonST做的几个按钮 以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。 作者:Davide Calabro 邮箱地址:davide_calabro@yahoo.com 个人主页: CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。如果你打算使用CButtonST的窗口不止一个,那么我建议你在VC++的Workspace | FileView中导入以上的四个文件之后,然后在SdtAfx.h文件中添加合适的include语句,如#include "BtnST.h"。 以下是Basic Features的演示界面: 效果一:在按钮上加入Icon,使Icon和文字同时显示 假设按钮ID为IDC_BUTTON1 1. 添加成员变量 CButtonST m_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. 添加成员变量CButtonST m_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. 添加成员变量 CButtonST m_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函数和OffsetColor函数的第一个参数表示按钮的各个状态,前景色就 是文字的颜色,它们的取值表示:BTNST_COLOR_BK_IN //鼠标放在按钮内时的背景色 BTNST_COLOR_FG_IN, //鼠标放在按钮内时的前景色 BTNST_COLOR_BK_OUT, //普通状态时的背景色 BTNST_COLOR_FG_OUT, //普通状态时的前景色 BTNST_COLOR_BK_FOCUS, //按钮被按下后的背景色 BTNST_COLOR_FG_FOCUS, //按钮被按下后的前景色实例:演示程序中的48×48 icon 按 钮、Zip按钮等。 效果五:设置图标和文字的位置 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2.添加Icon资源,ID设为IDI_ICON1 3.在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.SetAlign(CButtonST::ST_ALIGN_VERT);提示:SetAlign函数的第一个参数表示 位置信息,缺省情况下,文字在图标右边ST_ALIGN_HORIZ // 文字在右 ST_ALIGN_VERT //文字在下 ST_ALIGN_HORIZ_RIGHT// 文字在左实例:演示程序中的Search 按钮。 效果六:根据Icon的形状设置按钮的形状 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2.添加Icon资源,设其ID设为IDI_ICON1 3.在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.DrawBorder(FALSE); m_btn.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(208,208,208)); m_btn.SetColor(CButtonST::BTNST_COLOR_BK_IN, RGB(208,208,208)); m_btn.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, RGB(208,208,208));注意:为达到最好效果,请根据Icon的大小调整按钮的大小。 并根据实际情况设置背景颜色。请事先将按钮的文字去掉。 效果七:添加Tooltips 假设按钮ID为IDC_BUTTON1 1.添加成员变量CButtonST m_btn;2.添加Icon资源,设其ID设为IDI_ICON1 3. 在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.SetTooltipText(_T("This is a tooltip.\r\nMultiline!")); 效果一:改变鼠标进入按钮时的形状(超链接效果) 假设按钮ID为IDC_BUTTON1 1. 添加成员变量CButtonST m_btn;2. 添加Icon资源,设其ID设为IDI_ICON1 3. 在OnInitDialog函数中初始化按钮 m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30); m_btn.SetURL("www.scut.edu.cn"); m_btn.SetTooltipText("www.scut.edu.cn"); m_btn.SetBtnCursor(IDC_CURSOR1); 效果二:菜单按钮 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2. 添加Icon资源,设其ID设为IDI_ICON1 3. 添加Menu,ID设为IDR_MENU 4. 在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30); m_btn.SetMenu(IDR_MENU, m_hWnd);注意:菜单的效果类似与右键菜单,所有在设置菜单选项时只设置一列就够了。另外菜单的宽度与菜单的文字长度有关,可以用空格占位的办法以达到最佳效果。 在菜单中引入位图的方法 1.添加ToolBar,依次使用Menu菜单项ID作为ToolBar按钮的ID。 2.ToolBar上的按钮图标将显示在相应的菜单项中。 将上面代码中的m_btn.SetMenu(IDR_MENU, m_hWnd); 改为m_btn.SetMenu(IDR_MENU, m_hWnd, TRUE, IDR_TOOLBAR); IDR_TOOLBAR为相应ToolBar的ID。 效果三:位图按钮 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2.添加位图资源,ID设为IDB_BITMAP1 3.在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetBitmaps(IDB_BITMAP1,RGB(0,0,0)); m_btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30);提示: 上面的SetBitmaps函数会将图片中颜色值为RGB(0,0,0)的点设为透明。 效果四:按钮焦点 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2. 添加Icon资源,设其ID设为IDI_ICON1 3. 在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.SetAlign(CButtonST::ST_ALIGN_VERT); m_btn.DrawFlatFocus(TRUE); 效果五:CheckBox按钮 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2. 添加Icon资源,ID设为IDI_ICON1和IDI_ICON2 3.在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_CHECK1,this); m_btn.SetIcon(IDI_ICON1,IDI_ICON2); m_btn.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, 30);提示: IDI_ICON1为选中时候显示的图标 IDI_ICON2为为选中时候的图标 效果六:透明按钮 假设按钮ID为IDC_BUTTON1 1.添加成员变量 CButtonST m_btn;2. 添加Icon资源,ID设为IDI_ICON1 3.在OnInitDialog函数中初始化按钮m_btn.SubclassDlgItem(IDC_BUTTON1,this); m_btn.SetIcon(IDI_ICON1); m_btn.DrawTransparent(TRUE); 效果七:特殊的PictureBox 利用CButtonST的特殊显示风格,完全可以把它当作一个PictureBox控件使用。这时一般会把按钮的属性设置为disable。 实例:演示程序的About页中使用了CButtonST来代替PictureBox。 向大家介绍两个CButtonST的派生类。 一、CWinXPButtonST类 CWinXPButtonST类 是一个CButtonST的派生类。它的特点是使用了WindowsXP中的圆角、黑色边框的风格。它包括WinXPButtonST.h和WinXPButtonST.cpp两个文件,而由于它是从CButtonST派生而来的,所以在引用它时,也要一并引入CButtonST的文件。 使用: 1. 引入文件,添加文件 2. 导入文件后,在SdtAfx.h文件中添加 #include "WinXPButtonST.h" 3. 添加成员变量 CWinXPButtonST m_btn2; 4. 假设按钮ID为IDC_BUTTON 添加Icon资源,ID设为IDI_ICON1 5. 在OnInitDialog函数中初始化按钮 m_btn2.SubclassDlgItem(IDC_BUTTON,this); m_btn2.SetIcon(IDI_ICON1); m_btn2.SetRounded(TRUE); 注意:但是它存在一个不足的地方,就是按钮的圆角是画出来的,按钮的形状仍然是原来的矩形。所以如果在有背景色的窗口中使用该按钮的话就会显得相当碍眼。 如图所示,在黑色的背景色中显示出难看的尖角: 解决的办法是通过SetColor函数使得按钮的底色与窗口的底色一致。 二、CShadeButtonST类 CShadeButtonST类 是CButtonST的另一个派生类。它的特点是支持更为多样化的背景,通过SetShade函数可以为按钮设置9种不通的背景效果。它包括四个文件,它们分别是CeXDib.h、CeXDib.cpp、ShadeButtonST.h和ShadeButtonST.cpp。在引用它时,同样要一并引入CButtonST的文件。 使用: 1.引入文件,添加文件 2.导入文件后,在SdtAfx.h文件中添加 #include "ShadeButtonST.h" 3.添加成员变量 CShadeButtonST m_btn3; 4.假设按钮ID为IDC_BUTTON3 添加Icon资源,ID设为IDI_ICON1 5.在OnInitDialog函数中初始化按钮 m_btn3.SubclassDlgItem(IDC_BUTTON3,this); m_btn3.SetIcon(IDI_ICON1); m_btn3.SetShade(CShadeButtonST::SHS_METAL); 下面给出各种背景效果和对应的参数值。 分类: 程序软件相关 绿色通道:好文要顶关注我收藏该文与我联系 kangwang1988 关注 - 0 粉丝 - 1+加关注00(请您对文章做出评价)? 博主前一篇:BCMenu 使用教程 ? 博主后一篇:动窗口的制作暨CSizingControlBar类的使用说明 posted on 2010-06-12 15:47 kangwang1988 阅读(415) 评论(0) 编辑 收藏 刷新评论列表 刷新页面 返回页首 发表评论 昵称: [登录] [注册] 主页: 邮箱:(仅博主可见) 验证码: 看不清,换一个 评论内容: 登录 注册 [使用Ctrl+Enter键快速提交评论] 0 1757184 wfsecotWHbU= 简洁阅读版式 新版博问上线,帮您解决IT难题 首页博问闪存新闻园子招聘知识库 最新IT新闻: ? 创新工场:投资孵化器 ? 失落的平台:诺基亚 Hildon 的缘起 ? 音乐应用新宠TuneIn:应用普及率超过Spotify和Pandora ? Visual Studio 2011 新功能 ? 百度王湛谈凤巢:成熟客户反对公开竞价信息 ? 更多新闻... 最新知识库文章: ? .NET 4.5 中只读集合接口的故事 ? 函数式编程思想:不变性 ? 5类应避免使用的代码注释 ? 15个值得开发人员关注的jQuery开发技巧和 心得 信息技术培训心得 下载关于七一讲话心得体会关于国企改革心得体会关于使用希沃白板的心得体会国培计划培训心得体会 ? Javascript闭包——懂不懂由你,反正我是懂了 ? 更多知识库文章... China-pub 2011秋季教材巡展 China-Pub 计算机绝版图书按需印刷服务 Copyright ?2011 kangwang1988 Powered By博客园 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 提供:沪江博客
本文档为【CButtonST按钮教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:34KB
软件:Word
页数:14
分类:
上传时间:2018-05-23
浏览量:90