private void OnLoadHandler(object sender, EventArgs e) { ulong ulFlags = 2; try { if (WMTouchForm.RegisterTouchWindow(this.Handle, ulFlags)) { return; } Logger.Info("Touch: ERROR: Could not register window for touch"); } catch (Exception ex) { Logger.Info("Touch: ERROR: RegisterTouchWindow API not available"); Logger.Info("Touch: " + ex.ToString()); } }
private bool DecodeTouch(ref Message m) { if (this.TouchEvent == null) { return(false); } int cInputs = WMTouchForm.LoWord(m.WParam.ToInt32()); if (cInputs > this.touchInputArray.Length) { cInputs = this.touchInputArray.Length; } if (!WMTouchForm.GetTouchInputInfo(m.LParam, cInputs, this.touchInputArray, this.touchInputSize)) { return(false); } for (int index = 0; index < this.touchPointArray.Length; ++index) { this.touchPointArray[index].Clear(); } for (int index = 0; index < cInputs; ++index) { WMTouchForm.TOUCHINPUT touchInput = this.touchInputArray[index]; WMTouchForm.TouchPoint touchPoint = this.touchPointArray[index]; if ((touchInput.dwFlags & 2) != 0 || (touchInput.dwFlags & 1) != 0) { Point client = this.PointToClient(new Point(touchInput.x / 100, touchInput.y / 100)); touchPoint.Id = touchInput.dwID; touchPoint.X = client.X; touchPoint.Y = client.Y; } } this.TouchEvent((object)this, this.touchEventArgs); WMTouchForm.CloseTouchInputHandle(m.LParam); return(true); }
public WMTouchEventArgs(WMTouchForm form) { this.form = form; }