|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?1 @$ s6 R+ D- D9 _0 p1 X
解决方案:
: P9 R/ s! d- P& p! U9 p2 \& Y' D继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上$ m3 g) p9 S# H; p l4 b! L7 k
//绘制父窗口部分区域的内容
3 z! w# Z* [8 m, G0 HCRect rect;
2 c4 J# q& C! u. RGetWindowRect(&rect);' _1 Q+ z1 C8 e" d; P
GetParent()->ScreenToClient(&rect);4 b" |1 w$ L$ r* G" u
GetParent()->RedrawWindow(rect);
9 b+ b1 X; P' C0 r+ x$ B1 x//输出本控件自己的文本内容
- h# F$ u+ I( v! ~dc.SetBkMode(TRANSPARENT);1 W7 X- X* V/ U1 Q' N# O: Q& `
...
8 |6 ~# c* M1 Y7 h! F8 l: W) b还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。4 ^% S% x) `8 r, ]5 J, P' |
以上是大概的思路。
2 d; V m+ y7 Q6 c |
|