|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?6 Q" Z2 S( A Y1 ?, r2 O$ l
解决方案:
0 Y; Q8 s1 `4 E$ S9 q继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
/ t F/ J7 y: I6 L! M3 z+ n0 E5 Z//绘制父窗口部分区域的内容. `$ Y% Y( i0 s4 b% r" f
CRect rect;4 Y) D6 g, F. k8 k! ~+ c
GetWindowRect(&rect);
: _7 I4 `* k+ q7 R$ D4 }1 oGetParent()->ScreenToClient(&rect);
6 |! x3 a; m$ ]- \9 a, GGetParent()->RedrawWindow(rect);$ M6 ]0 q! A* r3 x+ I
//输出本控件自己的文本内容1 j/ B/ B6 H7 `/ t/ y
dc.SetBkMode(TRANSPARENT);
6 F# \4 O) G* W. ?, N...! Z: v8 A, t0 J) f# x, C1 e% C
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。! b3 o m. b3 y. I1 T# O$ p
以上是大概的思路。- ]. V: g0 c' ?+ W
|
|