有关多行Edit窗口实现背景透明的问题
Muf 2002-06-08 03:54:53 多行Edit编辑器(以下称Memo)需要实现透明背景,我的思路是创建一个具有WS_EX_TRANSPARENT风格的多行Edit窗口,然后,将接收WM_CTLCOLOREDIT和WM_CTLCOLORSTATIC消息,将其文字背景设置为透明(调用SetBkMode)。
但这样一来,卷动条显示不正常了。需要在WM_PAINT中再次引发WM_NCPAINT才行。
现在问题是:
1. 当发生卷动时,背景画面总是跟着动,有什么办法解决?
我只好在WM_PAINT中先画父窗口的画面,再调用原先的Edit窗口的WM_PAINT,但这样仍然有闪烁。(这么做的同时抵消了WS_EX_TRANSPARENT的作用,便卷动条显示却正常了)。
2. 我的方法是否是错误的,或是另有更好的方法?
请指教。