|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
5 x+ S- {) g" }9 m' U3 l8 y+ z解决方案:5 H( ?% L' Z7 F9 B: v
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上0 I- Y4 k7 V5 ]7 e5 o# o- y
//绘制父窗口部分区域的内容
Q2 ^! j3 G2 W; ?# B0 X4 WCRect rect;( R5 v# `5 p, m( v; V) K! M
GetWindowRect(&rect);
$ o5 @! j4 n jGetParent()->ScreenToClient(&rect);- v+ y& h. R2 p/ C. M
GetParent()->RedrawWindow(rect);
6 N5 H, q+ k& E, n$ [$ Q//输出本控件自己的文本内容8 r# F1 R2 D* T: _+ }6 _- b9 _3 d
dc.SetBkMode(TRANSPARENT);
" u& f8 v8 R( T...( k, ?6 c: r }' a
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
5 N6 u9 P0 O- X9 ]* N0 ]2 f. w以上是大概的思路。2 _) y/ M- [; J* V+ w4 L
|
|