我有一个简单的用例。我有一个预览窗口,其中显示了一个 USB 网络摄像头。现在这个预览窗口是不可点击的,即没有检测到点击事件。结果,我想在此预览窗口顶部放置一个透明对象。这样我就可以向它添加点击事件。有没有办法让任何对象真正透明,以便显示它背后发生的任何事情?
问问题
257 次
3 回答
1
我有一个类似的问题。解决了我的问题,但可能不是你的。
我用过:定时器间隔是30ms。图片框相机馈送。
我有一个计时器,在每一次滴答声中,我都将其设置为从网络摄像头馈送中捕获图像并将其发送到图片框,并将捕获的图像设置为图片框.图像。图片框填充视图以充当预览窗口。
我在图片框上有点击事件,然后让我点击视图然后继续。
于 2013-08-07T08:41:50.963 回答
1
您可以使用以下技术挂钩您LiveDeviceSource
以捕获发送给它的消息:
public class Form1 : Form {
public Form1(){
InitializeComponent();
proc = new LiveDeviceSourceProc();
Load += (s,e) => {
proc.AssignHandle(yourLiveDeviceSource.Handle);
};
proc.Click += (s,e) => {
//you can also process your code here
};
}
LiveDeviceSourceProc proc;
public class LiveDeviceSourceProc : NativeWindow {
protected override void WndProc(ref Message m){
if(m.Msg == 0x202)//WM_LBUTTONUP <=> Left Mouse Click
{
//process your code here
if(Click != null) Click(this,EventArgs.Empty);
}
base.WndProc(ref m);
}
public event EventHandler Click;
}
}
于 2013-08-07T11:37:11.473 回答
0
于 2013-08-07T08:31:57.390 回答