WEB开发网
开发学院软件开发VC 自绘按钮的实现 阅读

自绘按钮的实现

 2008-01-19 20:25:45 来源:WEB开发网   
核心提示:如果你是之间把CXPButton的源文件引入自己的工程中的,那么在上图的Variable type中是看不到CXPButton选项的,自绘按钮的实现(5),但是可以通过以下方法加入:1. 首先保存工程后退出,2. 在工程的目录下找到一个后缀名为.clw的文件,这问题不大,五、附录DRAWITEMSTRUCT结构文档(根

如果你是之间把CXPButton的源文件引入自己的工程中的,那么在上图的Variable type中是看不到CXPButton选项的。但是可以通过以下方法加入:

1. 首先保存工程后退出。

2. 在工程的目录下找到一个后缀名为.clw的文件,将其删除。但是为了以防万一还是建议你实现备份一下。

3. 重新打开工程,进入类向导,此时会看到一下一个弹出对话框,我们选择“是(Yes)”。

4. 再选择“Add All”,这样我们就可以在类向导中使用CXPButton的变量类型了。

四、小结与提示

对于按钮来说,当按钮上面任何可见的部分发生变换的时候,都要调用DrawItem函数进行重绘。自绘制按钮必须设定BS_OWNERDRAW的属性,设置的代码在PreSubclassWindows函数中完成。另外为了防止系统字体设置的变化影响控件的表达效果,还可以在该函数中为控件指定某种固定的字体。但是要注意的是这个

让我们来回顾一下实现自绘按钮的基本步骤:

a. 确定设计方案;

b. 初始化,但是记得要在函数退出前恢复先前的GDI对象,并释放所占领的资源;

c. 添加相应消息函数;

d. 添加绘图函数DrawItem,在DrawItem中作图的顺序一般是先画外边框,再上底色,接着写文字,最后是画内边框。不过有些人也喜欢把边框放到最后画,这问题不大。

五、附录

DRAWITEMSTRUCT结构文档(根据Msdn翻译)

DRAWITEMSTRUCT

DRAWITEMSTRUCT 为需要自绘的控件或者菜单项提供了必要的信息。在需要绘制的控件或者菜单项对应的WM_DRAWITEM消息函数中得到一个指向该结构的指针。 DRAWITEMSTRUCT结构的定义如下:

上一页  1 2 3 4 5 6 7  下一页

Tags:按钮 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接