VC中使用CButtonST使用技巧

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.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值   

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UsherYue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值