读书人

渐变按钮(仿迅雷看看)解决方法

发布时间: 2012-03-13 11:21:10 作者: rapoo

渐变按钮(仿迅雷看看)
对于渐变按钮,要是使用含有完全透明部分的png图片,用什么方法好呢?我是在内存DC上画背景,然后以一定透明度将按钮图片画上去,最后显示出来。但是这样效率很低。大家有什么好方法吗?讨论一下。


还有《windows 程序设计》中说到,
“在某些情况下,显示区域的一部分被临时覆盖,Windows试图保存一个显示区域,并在以后恢复它,但这不一定能成功。在 以下情况下,Windows可能发送WM_PAINT消息:

Windows擦除覆盖了部分窗口的对话框或消息框。
  。。。。。。
。。。。。。


我发现,打开一个“打开文件对话框”时,只点击“取消”将恢复成功,点击“打开”恢复失败。期间通过SetTimer重绘部分将恢复失败。
这样的话,“打开文件”按钮被遮盖时,按取消后导致“打开文件”按钮重绘慢于背景,看着不舒服。

我在SetTimer后画渐变按钮时索性调用一次OnPaint(),这样按钮和背景重绘同步了。可是,我不太满意。大家觉得应该如何?
文件下载:
http://download.csdn.net/source/3440042




[解决办法]
没看懂嘛意思,单纯顶贴~

读书人网 >VC/MFC

热点推荐