【发布时间】:2009-01-16 13:18:16
【问题描述】:
我有一个 Circle 和一个 Line 控件。 Circle 控件的 OnPaint 绘制一个圆,Line 控件的绘制一条线。这两个控件包含在另一个控件 (DrawingControl) 中。 我需要在圆上放一条线,但圆的背景删除了这条线。我尝试启用透明度并覆盖 Circle 的 OnPaintBackground 方法,但它似乎不起作用。 你有什么想法? 谢谢。
【问题讨论】:
我有一个 Circle 和一个 Line 控件。 Circle 控件的 OnPaint 绘制一个圆,Line 控件的绘制一条线。这两个控件包含在另一个控件 (DrawingControl) 中。 我需要在圆上放一条线,但圆的背景删除了这条线。我尝试启用透明度并覆盖 Circle 的 OnPaintBackground 方法,但它似乎不起作用。 你有什么想法? 谢谢。
【问题讨论】:
this tutorial 有帮助吗?它由三个步骤组成:启用透明度、覆盖 OnPaintBackground 和覆盖 OnMove
【讨论】:
请参阅this answer 关于创建对角线控件的信息。这种技术不需要使用透明度,而是使用不规则形状的区域。以这种方式创建圆控件会比直线示例稍微复杂一些,因为您需要使用贝塞尔曲线而不是线段来创建平滑的圆。
【讨论】: