|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
+ A% d9 a! n5 f解决方案:. ~1 r2 k& X% S2 ^' t0 y- s( R
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
" u3 N9 Q; R8 g//绘制父窗口部分区域的内容
- v" E3 t1 b. |( b6 n2 ]* g' mCRect rect;- @. A& T! H) _9 J( a3 J" B
GetWindowRect(&rect); c4 K4 v; F# o5 S8 C% k" @1 W1 q6 b" y+ ^
GetParent()->ScreenToClient(&rect);
: G- t* Y8 O6 m ]) E' J+ j( CGetParent()->RedrawWindow(rect);3 i& N5 z' f% b
//输出本控件自己的文本内容
4 _$ n8 {8 h# Vdc.SetBkMode(TRANSPARENT);6 z4 d2 _$ |) A. I1 ?( n
...
3 c7 a5 @( h$ \% ] X7 U还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。8 [# G! E0 T% k
以上是大概的思路。
* |6 s, N7 @0 k& i |
|