|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
/ \9 G% I+ X) w/ r, r解决方案:: k+ E( p" J# [: f, S: w7 J
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
6 ~+ L Q% O$ e7 C9 N0 ^//绘制父窗口部分区域的内容
+ |2 a5 K! V4 z6 [1 p, c6 T' GCRect rect;
C2 |3 V$ b0 I; P5 N/ g2 PGetWindowRect(&rect);
" O( E8 T8 c, OGetParent()->ScreenToClient(&rect);3 m( J- ~! t: }( m0 W
GetParent()->RedrawWindow(rect);
4 N5 ^' h: H" P; E//输出本控件自己的文本内容! o& E& L. o; _$ ~
dc.SetBkMode(TRANSPARENT);0 `2 S( ?* {8 z8 n5 V7 U: q3 l! n
...
6 d8 X$ Z9 k+ W还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。; N. |7 u7 o, ?1 G9 {% K" Q5 i
以上是大概的思路。) D% p n1 R& \5 X$ _% M% C
|
|