有次给人做一套竞赛抢答软件,要求有圆角像电话按键一样的选题按钮。测试了使用图片切换并绘制按钮区域的方式效果很差,只好用GDI来绘制了。
在VS2010中新建组件CrystalButton,重写OnPaint事件,添加按钮的默认、鼠标悬停、点击状态。在OnPaint事件里绘制圆角,使用线性渐变笔刷绘制顶部的白色渐变,绘制阴影,绘制按钮文字。在按钮状态中通过改变渐变颜色、阴影偏移量来显示不同状态。将按钮颜色设置为背景色,便于在VS属性窗口更改。简单的方法,效果不错。
有次给人做一套竞赛抢答软件,要求有圆角像电话按键一样的选题按钮。测试了使用图片切换并绘制按钮区域的方式效果很差,只好用GDI来绘制了。
在VS2010中新建组件CrystalButton,重写OnPaint事件,添加按钮的默认、鼠标悬停、点击状态。在OnPaint事件里绘制圆角,使用线性渐变笔刷绘制顶部的白色渐变,绘制阴影,绘制按钮文字。在按钮状态中通过改变渐变颜色、阴影偏移量来显示不同状态。将按钮颜色设置为背景色,便于在VS属性窗口更改。简单的方法,效果不错。
转载于:https://www.cnblogs.com/yifeimiao/archive/2012/09/02/btn.html