|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
8 Y5 D ?2 s3 E: h解决方案:+ b7 h" K1 S* _6 s
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上! ^) `1 Q* |5 n5 n3 K
//绘制父窗口部分区域的内容
W5 p; h9 E! ~CRect rect;# W( O" Y) c/ Z. G# s
GetWindowRect(&rect);: {% e: ]7 t1 s! s+ O9 v$ B* L( i
GetParent()->ScreenToClient(&rect);; V% J" j% V1 h
GetParent()->RedrawWindow(rect);
/ k& W8 M. s+ ?+ K% J, \//输出本控件自己的文本内容
# j' g# x+ |* e: c' B8 Fdc.SetBkMode(TRANSPARENT);& ?" w+ z! p. a4 K! o
...
$ T9 B9 S( O' m! \5 Q4 f- Q还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
1 ~+ N2 N; i1 T6 M$ Y, A; z& z以上是大概的思路。9 {- l; H% ~; C
|
|