我用自己的OnPaint-override开发了一些组件,在那里绘制它们。
我现在添加了一个状态面板,它被设计成与我的部分表单的顶部重叠。我使用阿尔法混合颜色将底层控件灰色化,并在上面显示文本。
不幸的是,我的一些底层自定义控件在状态栏之后绘制自己,因此将自己绘制在状态栏之上。调试时,我发现首先调用了later事件的状态栏,然后调用了底层控件的later事件。
我怎样才能确保正确的订单被用于油漆?
当底层组件自行绘制时,它们前面的组件应该总是自动失效,因此它们会重新绘制自己,但这并不发生。我还在statusbar上调用了SendToFront,但这也没有帮助。因此,我还要问的是,维持订单的适当机制是什么,以及核心组件如何处理这些问题。
编辑:我也在这个问题中运行:每次运行我的OnPaint-event,我的覆盖就变得越来越不透明,因为它一次又一次地用alpha=128-红色绘制。
发布于 2011-05-02 20:40:12
要消除外部因素(如XP、Vista、Win7之间的变化),您可以:
https://stackoverflow.com/questions/5861922
复制相似问题