|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?# Y* k* o4 b' J
解决方案:4 K8 k2 H3 C% i5 ^" k1 R
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
8 \1 m& q6 `- Q& R//绘制父窗口部分区域的内容
+ v8 B% E5 x+ v8 @* u% e$ |8 \CRect rect;) n( k' y( Y7 O: ~0 _
GetWindowRect(&rect);
0 s" W/ s9 o; V- IGetParent()->ScreenToClient(&rect);
0 K! v' @# J9 u* BGetParent()->RedrawWindow(rect);; i* ?6 c3 c# T$ t) x
//输出本控件自己的文本内容- V9 G5 W6 \6 p4 p7 H
dc.SetBkMode(TRANSPARENT);
$ {3 d: D0 b$ {) F7 C# |...
6 } L2 I3 D+ a' }4 D还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。0 l) k& r; B7 W/ E* Q* ], K
以上是大概的思路。# n8 ^6 V9 E7 B1 `& r+ a$ G
|
|