首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 软件开发 → VC编程 → 文章内容

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

作者:佚名  来源:网上收集  发布时间:2007-3-27 10:14:15

在你的程序中如何使用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//            图标的句柄,鼠标放在按钮上显示该图标.如果为空,则将删除任何图标。.//     [IN]   hIconOut//            图标的句柄,当你的鼠标在不在按钮内时,显示图标.可以为空.//            如果指定这个参数的值为 BTNST_AUTO_GRAY (cast to int)第二个图标将从 nIconIn 自动地创建,//            同时改变灰度级。如果指定这个参数的值为 BTNST_AUTO_DARKER (cast to int)第二个图标将从               nIconIn 自动地创建,灰度级为它的25%的.//返回值://      BTNST_OK//     函数成功执行//      BTNST_INVALIDRESOURCE//          加载指定资源失败//DWORD SetIcon(HICON hIconIn, HICON hIconOut = NULL)SetBitmaps (using resources)
给你的button指定位图.任何本来就有的图标或位图将会被删除.
// Parameters://     [IN]   nBitmapIn//          位图资源的ID,当你的鼠标放在按钮上显示该位图.如果为空,则将删除任何位图.//     [IN]   crTransColorIn//            颜色(inside nBitmapIn)将被用于透明色.//     [IN]   nBitmapOut//           位图资源的ID,当你的鼠标在不在按钮内时,显示位图.可以为空//     [IN]   crTransColorOut//           颜色(inside nBitmapOut)将被用于透明色.// 返回值://     BTNST_OK//        函数成功执行//     BTNST_INVALIDRESOURCE//      加载指定资源失败//     BTNST_FAILEDMASK//        创建mask bitmap失败//DWORD SetBitmaps(int nBitmapIn,                  COLORREF crTransColorIn,                  int nBitmapOut = NULL,                  COLORREF crTransColorOut = 0)SetBitmaps (using handles)
给你的button指定位图.任何本来就有的图标或位图将会被删除.
// Parameters://     [IN]   hBitmapIn//          位图资源的句柄,当你的鼠标放在按钮上显示该位图.如果为空,则将删除任何位图.//     [IN]   crTransColorIn//            颜色(inside nBitmapIn)将被用于透明色.//     [IN]   hBitmapOut//            位图资源的句柄,当你的鼠标在不在按钮内时,显示位图.可以为空//     [IN]   crTransColorOut//            颜色(inside nBitmapOut)将被用于透明色.//// 返回值://     BTNST_OK//       函数成功执行//     BTNST_INVALIDRESOURCE//      加载指定资源失败//     BTNST_FAILEDMASK//        创建mask bitmap失败//DWORD SetBitmaps(HBITMAP hBitmapIn, COLORREF crTransColorIn, HBITMAP hBitmapOut = NULL, COLORREF crTransColorOut = 0)SetFlat设置button为一个标准平滑的样式 
// Parameters://     [IN]   bFlat//            如果为TRUE按钮是平滑的样式否则为标准的样式.缺省为TRUE。//     [IN]   bRepaint//            如果为TRUE 将被重置//返回值://     BTNST_OK//         函数成功执行//DWORD SetFlat(BOOL bFlat = TRUE, BOOL bRepaint = TRUE)SetAlign设置icon/bitmap各text 之间的绑定方式. // Parameters://     [IN]   byAlign//            绑定方式.可以是下面的值://            ST_ALIGN_HORIZ          Icon/bitmap 在左, text 在右//            ST_ALIGN_VERT           Icon/bitmap 在上, text  在下//            ST_ALIGN_HORIZ_RIGHT    Icon/bitmap 在右, text 在左//            ST_ALIGN_OVERLAP        Icon/bitmap 和 text 同一位置//            缺省为 ST_ALIGN_HORIZ.//     [IN]   bRepaint//           如果为TRUE 将被重置//// 返回值://     BTNST_OK//        函数成功执行//     BTNST_INVALIDALIGN//        绑定失败.//DWORD SetAlign(BYTE byAlign, BOOL bRepaint = TRUE)SetTextAlign
在text内设置不同的方式
// Parameters://     [IN]   byTextAlign//            绑定方式.可以是下面的值://            ST_TEXTALIGN_CENTER_VCENTER       水平,垂直,中心//            ST_TEXTALIGN_LEFT_VCENTER         靠左,垂直,中心//            缺省为ST_TEXTALIGN_CENTER_VCENTER //            ST_TEXTALIGN_RIGHT_VCENTER        靠右,垂直,中心//            但在checkboxes 或 radiobuttons 中缺省为ST_TEXTALIGN_LEFT_VCENTER.//     [IN]   bRepaint//            如果为TRUE 将被重置//// 返回值://     BTNST_OK//        函数成功执行//     BTNST_INVALIDALIGN//        绑定失败.//DWORD SetTextAlign(BYTE byTextAlign, BOOL bRepaint = TRUE)SetPressedStyle
设置下压方式.
// Parameters://     [IN]   byStyle//           下压方式,可以是下面的值://            BTNST_PRESSED_LEFTRIGHT    从左到右         BTNST_PRESSED_TOPBOTTOM    从上到下//            缺省为 BTNST_PRESSED_LEFTRIGHT.//     [IN]   bRepaint//            如果为TRUE 将被重置////返回值://     BTNST_OK//       函数成功执行//     BTNST_INVALIDPRESSEDSTYLE//        下压方式不支持.//DWORD SetPressedStyle(BYTE byStyle, BOOL bRepaint = TRUE)SetCheck
设置checkbox状态.
 button 必须是一个 checkbox. // Parameters://     [IN]   nCheck//            1 表示选中.//            0 表示没有选中//     [IN]   bRepaint//        如果为TRUE 将被重置//// 返回值://     BTNST_OK//       函数成功执行.//DWORD SetCheck(int nCheck, BOOL bRepaint = TRUE)GetCheck
返回当前checkbox状态.button 必须是一个 checkbox.
//返回值://     当前checkbox状态.//        1 被选中//        0 没有被选中或button不是一个checkbox.//int GetCheck()SetDefaultColors
设置缺省颜色值
// Parameters://     [IN]   bRepaint//            如果为TRUE 将被重置////返回值://     BTNST_OK//        函数成功执行//DWORD SetDefaultColors(BOOL bRepaint = TRUE)SetColor
设置特殊状态下的颜色值
// Parameters://     [IN]   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    焦点在按钮上,文本色//     [IN]   crColor//            新颜色//     [IN]   bRepaint//            如果为TRUE 将被重置////返回值://     BTNST_OK//        函数成功执行.//     BTNST_INVALIDINDEX//        错误的植.//DWORD SetColor(BYTE byColorIndex, COLORREF crColor, BOOL bRepaint = TRUE)GetColor
返回特殊状态下的颜色值.
// Parameters://     [IN]   byColorIndex//            颜色值索引//     [OUT]  crpColor//            指向想要查询的COLORREF.////返回值://     BTNST_OK//        函数成功执行.//     BTNST_INVALIDINDEX//        错误的植.//DWORD GetColor(BYTE byColorIndex, COLORREF* crpColor)OffsetColor
该函数用于设置RGB值。
// Parameters://     [IN]   byColorIndex//            设置的颜色值的索引.//            看SetColor函数中颜色列表.//     [IN]   shOffsetColor//             -255到255之间//     [IN]   bRepaint//            如果为TRUE 将被重置//// 返回值://     BTNST_OK//        函数成功执行.//     BTNST_INVALIDINDEX//        错误的植.//     BTNST_BADPARAM//       超出范围//DWORD OffsetColor(BYTE byColorIndex, short shOffset, BOOL bRepaint = TRUE)

[] [返回上一页] [打 印]
  • 上一篇文章:修改一个完全颜色的CListCtrl类
  • 下一篇文章:用键盘操作静态链接打开应用程序中的URLs

  • 相关文章:
  • 在你的程序中如何使用CButtonST类
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号