我在项目中使用第三方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控件前面显示我的图像?
答案 0 :(得分:0)
你的问题相当于“为什么当我在我的窗口中绘制它的子窗口被绘制在我的绘图上方”(假设它不是无窗口控件,这是不可能的)。
你应该考虑你真正想要实现的目标并相应地绘制。如果你想在别人的窗口上绘图 - 子类并自己画画。如果您只需要覆盖图像的一部分 - 创建另一个窗口并放在另一个孩子的上方。