我写了一个透明的控件,用来编辑文字,像一个图层一样。但水平有限,效果总是很不理想。我是这样实现的,从TCustomControl继承下来,重载了它的Paint方法,把父控件的相应区域作为背景画出来,然后再画上文字。这样的控件在静态的时候没问题,但加上拖动功能之后就有问题了。我拖动一开始用的是WM_SYSCOMMAND消息(就是超级猛料和网上都有的,先判断区域,然后Perform一个WM_SYSCOMMAND的那种方法),改变大小的时候OK,拖动也很平滑,但是它在拖动的过程中控件不更新,没有“透明”的效果。后来我就改为响应WM_MOUSEMOVE消息,在这个消息里判断如果左键按下,而且鼠标在控件的拖动区域的话,就改变控件位置。但可能是WM_MOUSEMOVE发生得太频繁了,造成控件频繁地复制父控件的背景,拖动也变得断断续续,效果不好。特别是后来父控件改用了GDI+来画图之后(是不是子控件改变位置了,父控件也要跟着重画?),跳动得更加厉害了。想请教各位高手,这样的透明控件要怎么样设计呢?别的软件里的那种文字层的拖动和改变大小的效果是怎么做出来的?