|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
}4 L+ c9 o. F+ }+ z解决方案:
7 Y7 |( y* w+ j- j) k( W继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
: y# w* q: @- r0 b//绘制父窗口部分区域的内容( D- \6 B; z3 [( s: x- N) |
CRect rect;
. |9 s9 B' F& Z1 e, F4 mGetWindowRect(&rect);% Z2 B5 ?1 x) B* S; S3 Z$ n m# K
GetParent()->ScreenToClient(&rect);, [% ]( O. u1 l
GetParent()->RedrawWindow(rect);( i H6 a7 l5 T& h7 ~) B
//输出本控件自己的文本内容9 }/ i, K2 G: K
dc.SetBkMode(TRANSPARENT);% L; }8 X4 _* M( t* r! u9 ^9 O/ |
.../ i# }* Q- a+ I: F) e3 ~
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
7 I. x8 K6 d0 V2 r5 {' H以上是大概的思路。# p- R) J q1 T: E+ ^
|
|