如何重叠两个控件
我有一个圆和一个线控件。 Circle 控件的 OnPaint 绘制一个圆,Line 控件的 OnPaint 绘制一条线。 这两个控件包含在另一个控件(DrawingControl)中。 我需要在圆上放置一条线,但圆的背景删除了该线。 我尝试启用透明度并覆盖 Circle 的 OnPaintBackground 方法,但它似乎不起作用。 你有什么想法? 谢谢。
I have a Circle and a Line control.
Circle control's OnPaint draws a circle and Line control's one draws a line. These two controls are contained in another control (DrawingControl).
I need to put a Line over a Circle, but Circle's background deletes the Line. I tried enabling transparency and overriding Circle's OnPaintBackground method, but it doesn't seem to work.
Do you have any ideas?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
本教程有帮助吗? 它由三个步骤组成:启用透明度、重写 OnPaintBackground 和重写 OnMove
Does this tutorial help? It consists of three steps: Enabling transparency, overriding OnPaintBackground and overriding OnMove
有关创建对角线控制。 该技术不需要使用透明度,而是使用不规则形状的区域。 以这种方式创建圆形控件会比直线示例稍微复杂一些,因为您需要使用贝塞尔曲线而不是线段来创建平滑的圆形。
See this answer about creating a diagonal-line control. This technique does not require using transparency, but instead uses an irregularly-shaped region. Creating a circle control this way would be a little more complicated than the line example, since you'll need to use bezier curves instead of line segments in order to create a smooth circle.