|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?4 e/ k- O" Y F4 b
解决方案:
9 T* o/ ~8 e) l$ p- {继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上6 S, v- a4 K7 s2 d
//绘制父窗口部分区域的内容8 |; y S# P2 K
CRect rect;: M) Y# l( ]/ W) r4 P$ [8 X
GetWindowRect(&rect);
1 W% V8 {1 k9 n& n) XGetParent()->ScreenToClient(&rect);
% ]' j( ]& G) l6 UGetParent()->RedrawWindow(rect);% {! x7 S* e e% u4 F. i
//输出本控件自己的文本内容2 H X7 d" `0 N* i: P
dc.SetBkMode(TRANSPARENT);
; R# F1 O8 R+ m! z" b...5 j. H3 ?0 `0 g& [8 O. r) }7 q
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
# \5 ^6 D% X. W# w以上是大概的思路。# q5 n0 Q7 ?2 s; i+ J1 G! q
|
|