|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
8 R$ f; h+ [0 g/ j& E解决方案:( r, b0 o- j [+ ~
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上* N) A& d2 m8 c$ m6 v
//绘制父窗口部分区域的内容! e* W- j. Q5 h# I
CRect rect;
1 m: N& Q! w8 C4 d" D- t& y) g& ]GetWindowRect(&rect);- Z, _, @; b" \" A
GetParent()->ScreenToClient(&rect);
$ r( V- k7 ?7 ^6 cGetParent()->RedrawWindow(rect);
) A) N: \# `1 T: Y$ [//输出本控件自己的文本内容
# s0 l. Z4 }0 r! r8 e5 }dc.SetBkMode(TRANSPARENT);( w5 ~$ B$ W- \( V( I
...( y& _+ R! B" ], d! I0 j& Y; ?
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
1 M+ T3 L' D2 i% D以上是大概的思路。! ^, Q+ O1 Q7 i( w3 p# w0 j
|
|