|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
5 }( W! w& m; \5 h解决方案:) m7 v2 }( P- W
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上: C7 \; `9 a5 [& Y& X' \
//绘制父窗口部分区域的内容
4 z' l$ B; o& n3 cCRect rect;
8 H4 U2 k6 U- \% N0 y P3 h$ uGetWindowRect(&rect);: b8 s( _$ H3 p; [9 m
GetParent()->ScreenToClient(&rect);% d* \/ l* V8 x* {* ~
GetParent()->RedrawWindow(rect);
/ K, g3 c9 M0 c" }; R//输出本控件自己的文本内容
3 P4 p4 S- _ ~2 {/ T% ?dc.SetBkMode(TRANSPARENT);: ], h8 }- R* ?" X0 }/ q! a% m8 D
..., d g5 q5 v3 A% b( j9 s- A
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
" T/ u- R: Y) S; }以上是大概的思路。; \3 n7 L+ K- l. f' z7 Q) b
|
|