码迷,mamicode.com
首页 > Windows程序 > 详细

win32自绘按钮,使用GDI+(二)

时间:2015-12-12 10:51:37      阅读:1243      评论:0      收藏:0      [点我收藏+]

标签:

解决上一篇的两个问题。

一,按钮背景透明

方法是,在绘制按钮之前,向按钮的父窗口发生WM_CTLCOLORBTN消息。该消息返回一个画刷句柄,系统使用该画刷句柄画出按钮的背景。所以我们在处理这个消息的时候,为系统返回一个空的画刷句柄就可以了。

直接在回调函数中添加代码

1    case WM_CTLCOLORBTN:
2         {
3             HBRUSH hBrush;
4             //hBrush = CreateSolidBrush(RGB(255, 0, 0));
5             hBrush=(HBRUSH)GetStockObject(NULL_BRUSH);
6             return (long)hBrush;
7         }

去掉FillRec函数,仍然可以实现下图效果:

技术分享

 二,设置系统菜单栏为渐变色

响应WM_NCPAINT。该消息在窗口框架被绘制时被送去窗口。

这个还没尝试,我还是先一条路走到黑,继续用去掉标题栏,重绘这个思路。

WM_NCPAINT参考https://msdn.microsoft.com/ZH-CN/library/windows/desktop/dd145212(v=vs.85).aspx

win32自绘按钮,使用GDI+(二)

标签:

原文地址:http://www.cnblogs.com/lanf/p/5040672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!