VC中使用CButtonST使用技巧

CButtonST是一个功能强大的类,他可以产生各种不同风格的 Button按钮,可以在实际开发中使用,CButtonST是控件子绘制的原理 。

CButtonST可以从网上下载到源文件 ,下载之后 加入到我们的工程中 。

下面是使用方法 。

1、创建一个Button控件 并为之 关联一个 Control变量 。

2、修改Button控件的父类为 CButtonST

//{{AFX_DATA(CXXDlg)
enum { IDD = IDD_XX_DIALOG };
CButtonSTm_btn; //在控件关联映射宏处修改 基类
//}}AFX_DATA

3、在Dialog的 OnInitDialog函数中作如下操作

为按钮设置为单一图标按钮,并有文本 : 实际上这个类还可以做为一个Picture 控件使用

m_btn.SetIcon(IDI_ICON1);

设置文本图标的对其方式 :

m_btn.SetAlign(2);

参数也是一个枚举值 ,定义如下

enum{ST_ALIGN_HORIZ= 0,// Icon/bitmap on the left, text on the right
ST_ALIGN_VERT,// Icon/bitmap on the top, text on the bottom
ST_ALIGN_HORIZ_RIGHT// Icon/bitmap on the right, text on the left
};

为按钮设置2个图标 ,一个是鼠标移动上去的时候,一个是鼠标没移动到按钮上的时候

m_btn.SetIcon(IDI_ICON2,IDI_ICON1) ;

设置按钮平滑的风格:
m_btn.SetFlat(TRUE) ;

为按钮添加ToolTipText:

m_btn.SetTooltipText("百度一下");

为按钮添加超链接 :

m_btn.SetURL("http://www.baidu.com");

为按钮添加菜单设置菜单按钮 :

m_btn.SetMenu(IDR_MENU1,m_hWnd) ; //参数分别是 菜单ID 和 父窗体的句柄

设置按钮的光标 :

m_btn.SetBtnCursor(IDC_CURSOR1) //参数是光标的资源DI

设置按钮为透明按钮:

m_btn.DrawTransparent(true);

为按钮设置位图 :

m_btn.SetBitmaps(IDB_BITMAP1,RGB(0,0,0)); //参数是位图ID 和 RGB 颜色值 按钮背景

按钮默认获得一个焦点:

m_btn.DrawFlatFocus(TRUE);//获得焦点

设置按钮不同状态时候的不同颜色

m_btn.SetColor(0,0xffddad) ;

第一个参数是状态 ,是一个枚举值 定义如下
enum{BTNST_COLOR_BK_IN= 0,//鼠标移动大按钮上的时候的背景色
BTNST_COLOR_FG_IN,//鼠标移动大按钮上的时候的前景色
BTNST_COLOR_BK_OUT,// 鼠标在按钮外部的背景色

BTNST_COLOR_FG_OUT,// 鼠标在按钮外部的前景色

BTNST_COLOR_BK_FOCUS,//获得焦点时候的背景色

BTNST_COLOR_FG_FOCUS,//获得焦点时候的前景色

BTNST_MAX_COLORS
};

第二个参数是颜色的RGB值

你可能感兴趣的:(button)