|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
" @! y) w* ~2 a解决方案:5 }; F# P8 [# a0 ?5 R H
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
, \7 b: f9 i+ `8 m* c3 I2 I//绘制父窗口部分区域的内容
# @% ~0 G: ]" m3 {7 y" FCRect rect;$ E, O5 Q7 y5 S
GetWindowRect(&rect);
/ F% g, `7 d' n! tGetParent()->ScreenToClient(&rect);2 @# V% ^* n, Y! r) O
GetParent()->RedrawWindow(rect);
) g. [7 b- e4 ?/ I/ g9 {//输出本控件自己的文本内容
5 ~* Q9 M8 V- T% C! Cdc.SetBkMode(TRANSPARENT);/ z* q" K, l4 e0 F4 M0 Y6 s
...
2 @8 U& i5 e! p还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。$ z9 D: ~0 Z) y# O: J2 q6 [" l
以上是大概的思路。
7 H9 h' o! d5 {9 B# @& W7 n |
|