* UIControl: WIN10系统响应触摸屏增加了TouchPressClick属性,默认关闭

This commit is contained in:
Sunny 2023-02-08 11:24:31 +08:00
parent 20ed2e0be4
commit 05011d57f8
2 changed files with 27 additions and 16 deletions

Binary file not shown.

View File

@ -994,6 +994,10 @@ namespace Sunny.UI
this.Invalidate(); this.Invalidate();
} }
[Description("开启后可响应某些触屏的点击事件"), Category("SunnyUI")]
[DefaultValue(false)]
public bool TouchPressClick { get; set; } = false;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////// WndProc窗口程序 ////// WndProc窗口程序
////// 当按压屏幕时产生一个WM_POINTERDOWN消息时我们通过API函数 PostMessage 投送出一个WM_LBUTTONDOWN消息 ////// 当按压屏幕时产生一个WM_POINTERDOWN消息时我们通过API函数 PostMessage 投送出一个WM_LBUTTONDOWN消息
@ -1012,25 +1016,32 @@ namespace Sunny.UI
protected override void WndProc(ref Message m) protected override void WndProc(ref Message m)
{ {
switch (m.Msg) if (TouchPressClick)
{ {
case WM_POINTERDOWN: switch (m.Msg)
break; {
case WM_POINTERUP: case WM_POINTERDOWN:
break; break;
default: case WM_POINTERUP:
base.WndProc(ref m); break;
return; default:
} base.WndProc(ref m);
return;
}
switch (m.Msg) switch (m.Msg)
{
case WM_POINTERDOWN:
PostMessage(m.HWnd, WM_LBUTTONDOWN, (int)m.WParam, (int)m.LParam);
break;
case WM_POINTERUP:
PostMessage(m.HWnd, WM_LBUTTONUP, (int)m.WParam, (int)m.LParam);
break;
}
}
else
{ {
case WM_POINTERDOWN: base.WndProc(ref m);
PostMessage(m.HWnd, WM_LBUTTONDOWN, (int)m.WParam, (int)m.LParam);
break;
case WM_POINTERUP:
PostMessage(m.HWnd, WM_LBUTTONUP, (int)m.WParam, (int)m.LParam);
break;
} }
} }