当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 在你的程序中如何使用CButtonST类

VC++
VC++ 的常用编程技巧
VC++编译环境详解
Visual C++制作一个Sniffer实例
vc.net中实现启动画面来个淡入淡出效果
VC++中进程间相互通信的十一种方法
深入了解VC++编译器
VC++删除浮动工具条中“关闭”按钮
VISUAL C++中的OCX控件的使用方法
VC++:用VC++实现上网拨号功能
VC++:基于VC++中ATL创建ActiveX控件的探讨
VC++删除浮动工具条中“关闭”按钮
VC++:VC++中的面向对象和Windows编程
VC++:Vc++中线程的同步
VC++:更新命令用户接口(UI)消息
VC++:CDatabase类的那些事
VC++:小编谈VC++中 CDatabase类的那些事
VC++:小编泛谈MFC的ODBC类
VC++:小编分享线程的创建和终止
在VC资源文件中加入声音资源
C++的static关键字

VC++ 中的 在你的程序中如何使用CButtonST类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 63 ::
收藏到网摘: n/a

在你的程序中如何使用CButtonST类

原文:davide calabro
翻译:xinying_ge

原文出处:CButtonST v4.1

下载源代码

首先在你的工程中加入如下文件:

BtnST.hBtnST.cpp

从v3.5版本开始,CButtonST支持使用BCMenu类创建菜单。为了能够使用BCMenu,你必须在 BtnST.h中加入下面二行:

#define BTNST_USE_BCMENU#include "BCMenu.h"

当然,你也必须在你的工程文件中加入下面的头文件:

BCMenu.h BCMenu.cpp 

注意:当 BCMenu 使参数可用时,与用SetNenu的方法是不同的! 从v3.6版本开始, CbuttonST可以在特殊的按钮播放声音。为了能够让它播放声音要在 BtnST.h 中加入:

#define BTNST_USE_SOUND

这样是为了使用SetSound 方法。用静态方法创建一个 CButtonST 用对话框编辑器中建一个标准的button,例如IDOK(你不需在自己动手创建),你可以用一个变量来创建这个button:

CButtonST m_btnOk;

现在你可以把这个 button 和 CbuttonST 连接在一起。在你的基于对话框的程序,在OnInitDialog:

// Call the base-class methodCDialog::OnInitDialog();// Create the IDOK buttonm_btnOk.SubclassDlgItem(IDOK, this);Or in your DoDataExchange: // Call the base methodCDialog::DoDataExchange(pDX);// Create the IDOK buttonDDX_Control(pDX, IDOK, m_btnOk);
  用动态方法创建一个CButtonST在人的程序中,为button创建一个变量。注意,这个变量的类型是指针:
CButtonST* m_pbtnOk;
现在创建button。在你的基于对话框的程序,在OnInitDialog:
// Call the base-class methodCDialog::OnInitDialog();// Create the IDOK buttonm_pbtnOk = new CButtonST;m_pbtnOk->Create(_T("&Ok"), WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP, CRect(10, 10, 200, 100), this, IDOK);// Set the same font of the applicationm_pbtnOk->SetFont(GetFont());
记住销毁这个指针,否则将会导致内存泄漏.这个也可以容易的实现,例如,在你的类中销毁它:
if (m_pbtnOk) delete m_pbtnOk;

类的方法:

SetIcon(using multi-size resources)

给你的button指定图标。任何本来就有的图标或位图将会被删除。

参数:

// Parameters:// [IN] nIconIn// 图标资源的ID,当你的鼠标放在按钮上显示该图标.如果为空,则将删除任何图标。// [IN] nCxDesiredIn// 指定加载图标的宽度,像素// [IN] nCyDesiredIn// 指定加载图标的高度,像素// [IN] nIconOut// 图标资源的ID,当你的鼠标在不在按钮内时,显示图标.可以为空.// 如果指定这个参数的值为 BTNST_AUTO_GRAY (cast to int)第二个图标将从 nIconIn 自动地创建,// 同时改变灰度级.// 如果指定这个参数的值为 BTNST_AUTO_DARKER (cast to int)第二个图标将从 nIconIn 自动地创建,// 灰度级为它的25%的.// [IN] nCxDesiredOut// 指定加载图标的宽度,像素// [IN] nCyDesiredOut// 指定加载图标的高度,像素//// 返回值:// BTNST_OK// 函数成功执行// BTNST_INVALIDRESOURCE// 加载指定资源失败//DWORD SetIcon(int nIconIn, int nCxDesiredIn, int nCyDesiredIn, int nIconOut = NULL, int nCxDesiredOut = 0, int nCyDesiredOut = 0)SetIcon (using resources)
给你的button指定图标.任何本来就有的图标或位图将会被删除.
// Parameters:// [IN] nIconIn// 图标资源的ID,当你的鼠标放在按钮上显示该图标.如果为空,则将删除任何图标。// [IN] nIconOut// 图标资源的ID,当你的鼠标在不在按钮内时,显示图标.可以为空.// 如果指定这个参数的值为 BTNST_AUTO_GRAY (cast to int)第二个图标将从 nIconIn 自动地创建,// 同时改变灰度级。如果指定这个参数的值为 BTNST_AUTO_DARKER (cast to int)第二个图标将从// nIconIn 自动地创建,灰度级为它的25%的.//返回值:// BTNST_OK// 函数成功执行// BTNST_INVALIDRESOURCE// 加载指定资源失败//DWORD SetIcon(int nIconIn, int nIconOut = NULL)SetIcon (using handles)
给你的button指定图标.任何本来就有的图标或位图将会被删除.
// Parameters:// [IN] hIconIn// 图标的句