渐变按钮(仿迅雷看看)
对于渐变按钮,要是使用含有完全透明部分的png图片,用什么方法好呢?我是在内存DC上画背景,然后以一定透明度将按钮图片画上去,最后显示出来。但是这样效率很低。大家有什么好方法吗?讨论一下。
还有《windows 程序设计》中说到,
“在某些情况下,显示区域的一部分被临时覆盖,Windows试图保存一个显示区域,并在以后恢复它,但这不一定能成功。在 以下情况下,Windows可能发送WM_PAINT消息:
Windows擦除覆盖了部分窗口的对话框或消息框。
。。。。。。
。。。。。。
”
我发现,打开一个“打开文件对话框”时,只点击“取消”将恢复成功,点击“打开”恢复失败。期间通过SetTimer重绘部分将恢复失败。
这样的话,“打开文件”按钮被遮盖时,按取消后导致“打开文件”按钮重绘慢于背景,看着不舒服。
我在SetTimer后画渐变按钮时索性调用一次OnPaint(),这样按钮和背景重绘同步了。可是,我不太满意。大家觉得应该如何?
文件下载:
http://download.csdn.net/source/3440042
[解决办法]
没看懂嘛意思,单纯顶贴~