CSDN博客开封第一篇:透明编辑框

来源:互联网 发布:网络牛牛赌博案 编辑:程序博客网 时间:2024/04/28 08:16

关于透明编辑框的做法,网上已有不少,大都实现复杂,且效果不好。

 

主要响应三个消息即可实现透明效果:WM_CTLCOLOR、WM_NCPAINT、EN_CHANGE。

 

通过响应WM_CTLCOLOR做两件事情:

1、设置绘制dc的背景模式为透明;

2、返回背景画刷;

 

由于1,所以必须在EN_CHANGE响应函数中刷新编辑框控件;

由于2,系统编辑框绘制客户区和非客户区均会使用该画刷,所以必须在WM_NCPAINT响应函数中自行绘制边框;

 

剩下的事情便是取得编辑框在父窗口区域的背景,将其转换成画刷。

 

效果图如下:

 

透明编辑框效果图

详见源代码:http://download.csdn.net/source/3005544

 

用此办法还可实现编辑框文本为空时显示提示文本的功能,下篇再介绍。

原创粉丝点击