|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?4 g4 L/ K& Z3 ^7 F9 u7 T
解决方案:
/ w3 K# A- `/ Y. M3 x @, T) z- c/ O. |继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上
1 C7 S; L) Y( u# K//绘制父窗口部分区域的内容: D0 S$ M3 G( |8 n
CRect rect;. n( P- N3 Z# Z. d% n1 i
GetWindowRect(&rect);' ~3 w/ [& g. A! |- h8 L
GetParent()->ScreenToClient(&rect);* H3 z; z/ I3 P2 c" c' d
GetParent()->RedrawWindow(rect);8 c: H! c2 Q/ F ~
//输出本控件自己的文本内容$ K" C( J$ ?8 Z/ r
dc.SetBkMode(TRANSPARENT);
- m$ m- t) ^0 I...
$ d7 e- K! [/ g还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
6 b h- ^! ?+ A( s h' e以上是大概的思路。
5 c" P8 b" Y, Z2 V/ m! I# P8 i |
|