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

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

 

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

 

通过响应WM_CTLCOLOR做两件事情:

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

2、返回背景画刷;

 

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

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

 

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

 

效果图如下:

 

透明编辑框效果图

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值