|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?3 a3 R# N2 X3 Y9 |
解决方案:
9 u' y2 k, L/ y" S0 R t继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上8 e/ g) H# d3 m
//绘制父窗口部分区域的内容
. \' O' Z* W. R# n4 ~, PCRect rect;& F* z, u& R3 h& F7 _2 K3 G$ ~
GetWindowRect(&rect);. L6 k4 V$ Y" l8 s# ^, M3 f
GetParent()->ScreenToClient(&rect);
0 [# i3 d, S9 P4 s( R' h3 D, H6 {% D% rGetParent()->RedrawWindow(rect);
* {/ c- A1 t' I4 A//输出本控件自己的文本内容
# `9 B$ J3 c; N: p+ G) Vdc.SetBkMode(TRANSPARENT);. [! E$ ?; X! h
...8 G! ?5 e4 {( f$ g' n+ M6 t+ p( M! c
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。$ C2 y2 p, q& ~. \
以上是大概的思路。2 b- S# r* I: R% I% R9 D. _3 m
|
|