2024年4月16日发(作者:)

如果你希望能够在自己的程序中表现出新意,那么你一定不会仅仅满足于MFC提供

那些标准控件。这时,我们就必须自己另外多做些工作了。就改变控件 外观这一点来说,

主要是利用控件的自绘功能(Owner Draw)实现的。本篇将和各位一起定义一个XP风

格的CXPButton按钮类,目的不在于介绍CXPButton类的使用技巧,而在于向各位阐述

实现 自绘按钮的方法。当然如果你觉得CXPButton有用的话,也可以把它的源文件保存

下来,直接加入到自己的项目中。

本篇要点:

一、准备工作

二、实现原理及难点

三、按钮类的使用

四、小结与提示

五、附录

下载文件 (已下载 373 次)

点击这里下载文件:

一、准备工作

在开始编码之前,首先应该确定好,更准确的说应该是设计好按钮在各种状态下的外

观。按钮控件的几中基本状态包括:

Normal状态,就是按钮一开始显示时的样子。

Over状态,鼠标指针移动到按钮上面时按钮显示的样子。

Down状态,按下按钮时显示的样子。

Focus状态,按钮按下后松开的样子,例如标准按钮按下松开之后会看到按钮内部有

一个虚线框。

Disable状态,当然就是按钮被设置成无效的时候的样子啦。

我参考了一下WindowsXP中普通按钮的实际样子,设计出XP按钮各种状态的外观,

如下图所示:

至于Down状态主要是在Over状态的基础上将文字往右下的方向稍微平移,以实现

下压的效果。