|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
. e+ x: L1 P+ X- B/ S: d% e解决方案:& g- x# ^ g: ]& A, y3 ?5 J+ d
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上7 a- Z( h4 p" n' Y
//绘制父窗口部分区域的内容
* P: V% s/ r& P4 N0 g2 k& o9 [8 FCRect rect;
+ T& B9 \* C0 FGetWindowRect(&rect);
3 d- g6 _" n( |GetParent()->ScreenToClient(&rect);( I& }' o5 V& @- \: e. u+ K2 X
GetParent()->RedrawWindow(rect);* b+ R% p1 C- ~2 p/ F: J
//输出本控件自己的文本内容
5 V7 q$ s$ Q: s+ e& f' `2 _; tdc.SetBkMode(TRANSPARENT);
: B! V4 g# w# b. Y) m9 D& e6 F$ ]...
' S5 e% {) \; l# W) n0 ^( ^还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
% m% L. ]' W3 C0 b/ h以上是大概的思路。) c" V$ G Q! P; o0 |
|
|