|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
$ X( b0 q, I/ t6 H7 t解决方案:9 K- h# N8 i% T, Q
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
) ~: Y4 d g" V//绘制父窗口部分区域的内容3 I) r5 ~: j. M1 D
CRect rect;
8 a5 e/ ]: L( ?9 h. r+ Y; L" wGetWindowRect(&rect);
" G& Y' @& J% ^- O, kGetParent()->ScreenToClient(&rect);# a" H! z9 j* F2 L6 p$ q3 Q
GetParent()->RedrawWindow(rect);
7 p8 H' q4 d3 `( l+ |5 c//输出本控件自己的文本内容2 W8 ^$ R+ Y9 \5 W- y4 J2 |
dc.SetBkMode(TRANSPARENT);
) K' m* H d6 H.../ _7 G0 F) f% v, Y* H8 `2 W
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
! i" H, K. V9 s8 M- P, ?1 d$ R以上是大概的思路。( j5 \1 s' g6 [. @8 ^* o9 y4 H
|
|