|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
8 K3 W" G3 m* b4 s" n6 f& o. ]解决方案:
0 o: V, t7 m5 H6 U# U( R H# h! a0 ]继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
; i( y: A+ d$ Z//绘制父窗口部分区域的内容
# R5 B" R; I8 y# E) Z" c6 {CRect rect;, ^; e2 B5 Y! H8 \- _2 J8 C
GetWindowRect(&rect);, ?4 f5 |4 J( c. J% W
GetParent()->ScreenToClient(&rect);& g! l9 g: i6 k% B9 n4 \3 R# b
GetParent()->RedrawWindow(rect);+ R- S, O1 S" W& l N" i
//输出本控件自己的文本内容
# z2 J/ L! p& Mdc.SetBkMode(TRANSPARENT);
9 E2 S2 b$ v. p5 |...
; }' |0 d3 G8 I8 N: r; G; r! _' R还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
# u) g* q2 v! H4 j( V以上是大概的思路。
6 l y* h- U& ?; v# u |
|