|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?
8 F( n0 }! F6 s7 b" ?0 r: A6 d" z$ y4 F解决方案:8 z8 Y" |. R' y' b
继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
/ ?. S! W; F, C, z1 Q//绘制父窗口部分区域的内容0 H$ X& g, q* ^$ }! |" Y3 g
CRect rect;5 O" O' b& W Y* I
GetWindowRect(&rect);7 L7 O1 x7 t% z6 F
GetParent()->ScreenToClient(&rect);+ K% E" Q D6 t8 Q/ ?
GetParent()->RedrawWindow(rect);0 M# y0 E( H) l0 `
//输出本控件自己的文本内容
7 Y- U7 D1 P! [+ i4 [dc.SetBkMode(TRANSPARENT);
, c% w# T6 M+ _/ P...
% o1 t9 r6 q9 j, m6 T2 Q4 H还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
" ?, A0 U: `7 O3 V- q以上是大概的思路。8 R) d7 M' J0 H, p
|
|