|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?& G6 E; e9 b p' F. V
解决方案:
/ ] f8 c: c( G! x: q, M继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
- p' s2 `4 K9 n9 a//绘制父窗口部分区域的内容6 {* _- M0 g6 S; t
CRect rect;
! y* E3 D8 b, B& `" FGetWindowRect(&rect);, C; |6 h' F5 j% P
GetParent()->ScreenToClient(&rect);
4 x& W, {7 X. e; V* [, s" D& FGetParent()->RedrawWindow(rect);
. C. ^+ k1 o4 R) k) \: b' k//输出本控件自己的文本内容
* Y; k& M9 M, T- ]; D/ o& c* ~, |' Bdc.SetBkMode(TRANSPARENT);
9 D9 b" z5 b4 N) E( w' G...
# m8 P9 z9 F& f1 e+ U t还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
! N6 n3 A r( ?& Y9 Y( k p以上是大概的思路。
" @2 U! c0 P3 a' B" @ |
|