|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
0 P: T A0 B+ _# v( U' b' n解决方案:" L5 H+ S: P" V6 s9 u u
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
, ]! E, f/ R6 U3 A9 n# ?//绘制父窗口部分区域的内容
1 w0 {8 X0 s1 D; |CRect rect; V/ C+ U3 `5 i7 L$ K2 X
GetWindowRect(&rect);
; p8 s, @! `( fGetParent()->ScreenToClient(&rect);
; v1 E- Y0 {" g2 @GetParent()->RedrawWindow(rect);
' x: ]# H1 C* _) I) J//输出本控件自己的文本内容, c( Q* V: G {9 J# @
dc.SetBkMode(TRANSPARENT);+ s, ]8 u" v- O: a6 D; y1 K# {
...
/ U6 C" p4 G7 M7 h' h1 S还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
7 M; K3 j4 ?) @: z# i( r5 }以上是大概的思路。
9 h7 c" r7 A' s6 `0 _7 ~ |
|