VC中CButtonST使用方法

来源:互联网 发布:智库研究员 知乎 编辑:程序博客网 时间:2024/04/29 02:36
CButtonST是一个功能强大的类,他可以产生各种不同风格的Button按钮,可以在实际开发中使用,CButtonST是控件子绘制的原理。
CButtonST可以从网上下载到源文件,下载之后加入到我们的工程中。
下面是使用方法。
1、创建一个Button控件并为之关联一个Control变量   。
2、修改Button控件的父类为CButtonST
 //{{AFX_DATA(CXXDlg)
 enum { IDD = IDD_XX_DIALOG };
 CButtonST m_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.2cto.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值    

摘自yue7603835的专栏
原创粉丝点击