|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
- {0 d# R6 M4 b; y& W: V& R解决方案:
5 I q6 K% c8 Y ^; k* {继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
) ]# {3 F8 M% u" L//绘制父窗口部分区域的内容
# V- Y* I; q. T2 {3 n& ]' T2 PCRect rect;
6 T4 c5 k1 ?0 lGetWindowRect(&rect);
3 x1 Y) U# ?8 D) X, LGetParent()->ScreenToClient(&rect);
* I3 K' \! F4 J8 zGetParent()->RedrawWindow(rect);" h# E% G% A. C+ V5 c$ g
//输出本控件自己的文本内容/ R4 c( g) h5 ~, P$ c( c, b v
dc.SetBkMode(TRANSPARENT);/ {3 k z( O+ C
...! A+ q. v0 r0 W9 N
还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。% X& T/ s# @: }# f! Z
以上是大概的思路。9 T5 t2 Z/ E+ ~4 e1 o
|
|