|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
' d& [" c( @( X* x, {解决方案:# x( h# [% D+ H v( r9 L0 d& Y
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
( c j( b4 O, Z+ A//绘制父窗口部分区域的内容8 e/ e( Z* O7 p" h( c
CRect rect;' L5 D; Y; Z# }; ]' R/ p/ K+ r
GetWindowRect(&rect);
+ F: z, n% e# ^' @# |: cGetParent()->ScreenToClient(&rect);) M' [9 C' Z ]/ [: a
GetParent()->RedrawWindow(rect);- U# t' {. o8 V! Q" K6 i* F( A
//输出本控件自己的文本内容( K: j0 r2 X3 b
dc.SetBkMode(TRANSPARENT);
1 e; i8 B; E1 x9 \...
* T; S% g9 K+ V$ {; ^6 T; J9 F还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
7 _# w6 O) B6 C1 g* ^8 c8 v以上是大概的思路。
) |: u- b& ~0 L5 H4 k! Z |
|