|
|
发表于 2003-6-17 21:53:18
|
显示全部楼层
是 Static 控件吧?* u; [! C6 v6 v. A5 t5 X# Z
解决方案:
+ E7 M8 a' P8 M继承 CStatic 生成一个自己的类,如 CStaticEx 类,在其中的 OnPaint() (或相关事件)中加上7 j0 @; [- z( L
//绘制父窗口部分区域的内容" M( B- g8 A6 `* O+ `$ G
CRect rect;. t. S+ K3 j ?. z) |
GetWindowRect(&rect);
6 z) L; {5 V/ I, k7 b. LGetParent()->ScreenToClient(&rect);
* G, W2 a7 |& i, B) `5 C4 {GetParent()->RedrawWindow(rect);
2 L: Y8 E) |# m. S& o, O, ~//输出本控件自己的文本内容, ^% n" \7 ~5 A/ |# t( D, D
dc.SetBkMode(TRANSPARENT);
$ \: y& \# J! N" s8 r0 o...
$ N- O6 H# p4 x& L9 \; a* s F" a# I8 L还有 OnEraseBkgnd() 不调用默认的函数,直接 return TRUE,以防止重绘背景造成闪烁的感觉。
. X2 ^+ L& b# B' h" U以上是大概的思路。. Z8 M' ?- L- ]) c2 T4 P% [
|
|