0

我在我的项目中使用了第 3 方 ActiveX 视频控件。该控件可以指向网络摄像机并显示视频流。效果很好……那不是我的问题。

我的问题是我试图在该控件之上绘制一个图像,而我得到的只是我在 ActiveX 控件后面的图像。ActiveX 控件当前只是放在 Windows 窗体的中间。我已经像这样覆盖了 Form 的 OnPaint() 方法:

protected override void OnPaint(PaintEventArgs e)
    {
       base.OnPaint(e);

       e.Graphics.DrawImage(Properties.Resources.ProgressBar, new Point(300, 300));
    }

我的图像确实绘制在表单上,​​但它位于 ActiveX 后面。我使用 (300,300) 的起点故意使我的图形偏离中心,这样如果它被绘制为 ActiveX,我可以看到它的一部分向外窥视。

如何让我的图像出现在 ActiveX 控件的前面?

4

1 回答 1

0

您的问题相当于“为什么当我在我的窗口中绘制时,它的子窗口被绘制在我的绘图上方”(假设它 ActiveX 不是无窗口控件,这不太可能)。

你应该思考你真正想要达到的目标并相应地绘制。如果您想在其他人的窗口上绘图 - 子类化并自己绘制。如果您只需要覆盖图像的一部分 - 创建另一个窗口并放置在另一个孩子上方。

于 2012-11-30T01:02:13.280 回答