如何重叠两个控件

发布于 2024-07-11 19:03:11 字数 194 浏览 6 评论 0原文

我有一个圆和一个线控件。 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅士风度i 2024-07-18 19:03:11

本教程有帮助吗? 它由三个步骤组成:启用透明度、重写 OnPaintBackground 和重写 OnMove

Does this tutorial help? It consists of three steps: Enabling transparency, overriding OnPaintBackground and overriding OnMove

女中豪杰 2024-07-18 19:03:11

有关创建对角线控制。 该技术不需要使用透明度,而是使用不规则形状的区域。 以这种方式创建圆形控件会比直线示例稍微复杂一些,因为您需要使用贝塞尔曲线而不是线段来创建平滑的圆形。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文