cor*_*ulu 16 c# touchscreen cursor touch windows-7
好的,基本的答案就是使用:
Cursor.Clip = new Rectangle(x1, y1, x2, y2);
Run Code Online (Sandbox Code Playgroud)
但我的问题有点复杂.
我需要它做的是正确地将自己映射到特定的窗口边界,以便触摸输入将被限制到该窗口,但是将正确地剪切到窗口,以便当我触摸左上角或右下角时触摸屏的一角,它将光标放在窗口的左上角或右下角.使用Cursor.Clip不会那样做,我在触摸屏上触摸的那个剪切区域之外的东西只会映射到它触摸的窗口的最近边缘.
有什么东西可以让我预先过滤鼠标位置,这样我就能正确调整它的界限吗?
或者,我可以尝试找到一些代码,将鼠标输入转换为TUIO输入并以此方式将其提供给应用程序,但我希望我不必这样做.因此,如果有人知道如何做到这一点,那么如果我的原始请求不可行,那将会有所帮助.
如果您需要确切知道我为什么这样做,我基本上是尝试将视频输入的触摸屏中的鼠标事件提供给可以接收触摸输入(通过正常鼠标事件或TUIO)的3D应用程序该视频,但没有办法最大化到屏幕的全分辨率,因为它只会渲染设置为输出的大小.
您可以使用反应式扩展来剪辑触摸事件
var movingEvents =
Observable.FromEventPattern<MouseEventHandler, MouseEventArgs>(
h => this.MouseMove += h, h => this.MouseMove -= h)
.Select(x => x.EventArgs.Location)
.Where(location =>
location.X >= viewPort.Location.X
&& location.X <= viewPort.Location.X + viewPort.Width
&& location.Y >= viewPort.Location.Y
&& location.Y <= viewPort.Location.Y + viewPort.Height);
movingEvents.Subscribe(update);
public void update(Point p)
{
textBox1.Text = p.ToString();
}
Run Code Online (Sandbox Code Playgroud)
http://www.codeproject.com/Articles/52308/The-Rx-Framework-By-Example
| 归档时间: |
|
| 查看次数: |
1043 次 |
| 最近记录: |