|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
( v* c% l6 ]9 G8 C解决方案:
" q4 R3 D+ {* A/ [继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
?, z, a2 h" l$ E# A( p//绘制父窗口部分区域的内容" o; `# V! l" {4 o1 S+ Q
CRect rect;
& o$ k1 @* E+ i* h3 i5 ^# O- SGetWindowRect(&rect);
9 a& z2 c' b! S% |4 Y1 HGetParent()->ScreenToClient(&rect);
8 D8 ]5 g2 |! y! [8 pGetParent()->RedrawWindow(rect);
6 E1 @: i( [. ]//输出本控件自己的文本内容
\/ g, O/ l7 v; R2 N5 n5 \dc.SetBkMode(TRANSPARENT);+ C, N. u5 K. v z& }1 u
...
" V5 B E1 r1 k9 H7 P( K1 p: e还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。7 x: J9 n0 P T: x! I
以上是大概的思路。6 b* N4 }& m, j6 b1 r
|
|