您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:408 来源:vckbase.com

本文章共5562字,分4页,当前第1页,快速翻页:
 

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

原文:davide calabro
翻译:xinying_ge

逆风者

原文出处:CButtonST v4.1

下载源代码

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

BtnST.h

BtnST.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 method

CDialog::OnInitDialog();



// Create the IDOK button

m_btnOk.SubclassDlgItem(IDOK, this);

Or in your DoDataExchange: 

// Call the base method

CDialog::DoDataExchange(pDX);



// Create the IDOK button

DDX_Control(pDX, IDOK, m_btnOk);

   用动态方法创建一个CButtonST 在人的程序中,为button创建一个变量。注意,这个变量的类型是指针:
CButtonST* m_pbtnOk;

现在创建button。在你的基于对话框的程序,在OnInitDialog:
// Call the base-class method

CDialog::OnInitDialog();



// Create the IDOK button

m_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 application

m_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)

 
 
本文章更多内容1 - 2 - 3 - 4 - 下一页>>
相关文章

Buffer Overruns,portability和其它...
自动隐藏停泊窗体实现
模拟 Windows 下 CPU 占用率的控件及其实现
VC中基于 Windows 的精确定时
DLL初学者指南(非MFC)
如何使用BHO定制你的Internet Explorer浏览
使用socket套接字时的两点经验
Visual Basic .NET 中多 Windows 窗体的同步
可以替代系统记事本的程序
论程序设计方法
QQ2006 界面编程之鸡蛋里挑骨头
用 Web 服务进行二进制序列化和 BinaryForm
DLL头文件的格式和应用
如何在 C# 中加载自己编写的动态链接库
软件测试悖论
VC 操作 SQL Server 主从表
C语言高效编程的几招
软件框架的利器、TangramMini组件应用教程二
GDI和GDI 对象的相互转换
PE文件格式详解(下)

相关评论


本文章所属分类:首页 VC++

  热门关键字: