自绘标题栏(非客户区)

一般都是处理WM_NCPAINT消息来自绘非客户区,但是有些程序员说我WM_NCPAINT后第一次运行了正确,但是当我点其他窗口时这个又变回去了。主要是因为还需要处理窗口激活和非激活的消息!因为WINDOWS会在这两个消息中用系统默认的背景来重画非客户区。下面来看下当一个窗口从激活到非激活状态接受了哪几个消息:
SPY++后发现,主要有3个:
WM_NCACTVIE WM_ACTIVE WM_ACTIVEAPP 和非客户区有关的就是WM_NCACTIVE 所以我们应该处理这个消息来重画自己需要的非激活状态的非客户区,否则WINDOWS会用默认的重画这个区域导致重绘失效!当然在WM_NCACTIVE的wParam指示是将激活还是非激活,两种情况都要处理来画激活和非激活的背景!
这样就OK拉~
return !(BOOL)wParam;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值