|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
# ^: J3 \9 Q/ D$ @$ `4 U解决方案:9 z' U$ p6 q4 r" R
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上2 N" w: j; P5 x. [
//绘制父窗口部分区域的内容4 x: }1 x$ |$ S7 m& A4 w5 W- |) M
CRect rect;- Q5 ]9 T# S6 B
GetWindowRect(&rect);
+ I6 g& q z% I. y( E) h$ w' iGetParent()->ScreenToClient(&rect); n; O b% ~7 U' `
GetParent()->RedrawWindow(rect);. w( T6 j8 r- Y2 j
//输出本控件自己的文本内容
1 x+ Y( k. s4 P4 z4 l. z- zdc.SetBkMode(TRANSPARENT);
6 a6 b' p, w; E, o" N8 t5 y- f6 z...% W9 z% c2 P7 ?# \. q2 W
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
/ [+ F3 C# P6 ^0 s4 R; k* F9 K以上是大概的思路。) j: ~* K$ s L* A( x# @# {. S# y
|
|