绘制圆形按钮

由于从CButton类派生的按钮外观过于“简洁”,有时并不能满足我们的要求。
爱美之心人皆有之,何况按钮呼?
那么要如何才能做出一个漂亮的按钮呢?这就得求助与按钮的自绘功能。
所谓按钮的自绘,就是按钮的形状可以重新绘制。既然按钮的形状可以重新绘制,那岂不
正是 我们需要的。
下面简要的说一下圆形按钮的制作思路:
首先得让按钮具有自绘风格(ownerdraw),可以在按钮的属性里选上,也可以通过
PreSubClassWindow实现,后一种方法如下:
重写PreSubClassWindow,然后
void CCircleButton::PreSubclassWindow()
{
    // TODO: Add your specialized code here and/or call the base class
   
    CButton::PreSubclassWindow();
    ModifyStyle( 0 , BS_OWNERDRAW );
}
按钮具有了自绘功能后,我们就可以重写DrawItem,在这个函数里完成按钮的彻底换装。
那么如何换装呢?当然啦首先得有漂亮的衣服啊(就是准备好一张大小合适圆形的位图),
然后根据位图的大小绘制按钮。
既然要绘制圆形按钮,当然按钮的形状就得是圆的。
首先获得位图的大小,然后根据位图大小设置按钮的大小并绘制对应的圆形。
最后创建一个位图画刷,刷一下那个圆形区域即可
详细代码请参看源码
没法上传文件啊!!
有需要的留下邮箱吧
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值