From 05011d57f858456bef4a5d7c6a551d596cb48daf Mon Sep 17 00:00:00 2001 From: Sunny Date: Wed, 8 Feb 2023 11:24:31 +0800 Subject: [PATCH] =?UTF-8?q?*=20UIControl:=20WIN10=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E8=A7=A6=E6=91=B8=E5=B1=8F=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86TouchPressClick=E5=B1=9E=E6=80=A7=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI.Demo/Bin/SunnyUI.Demo.exe | Bin 1313280 -> 1313280 bytes SunnyUI/Controls/UIControl.cs | 43 +++++++++++++++++++----------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/SunnyUI.Demo/Bin/SunnyUI.Demo.exe b/SunnyUI.Demo/Bin/SunnyUI.Demo.exe index 415a88f3ff871415aee2854e8ff9808f0c0d8092..c49f75e971d04368fc5789ba8c3e0a1e3d034eda 100644 GIT binary patch delta 279 zcmZpe63{RuU_u8=`96i?6MJMB?Ix}aXM8i6k+Gi9WpX2sRA^>oYG-6(1Y)M`j7-eg zX9Tt;PSCHG(DRwmmUsNkccC}!HRqUtm<5PgftU@5*@2h?h&h3n3y8UamH1qzy!o0(<9x4wPjb=-AS9d>4w`Z_F3n57%(nm1WLJB z#RTV<7A2=n-|Z$Wr5%)-lbTqZ8WUWamsc6;sppcKo3B@plEm;QMHpln7>K0;*$NXC i#TYrJi@FQ{oPI!vMPfUjhw!icOd6)!1(SupF#-V7re1ac diff --git a/SunnyUI/Controls/UIControl.cs b/SunnyUI/Controls/UIControl.cs index 51993843..97142e7f 100644 --- a/SunnyUI/Controls/UIControl.cs +++ b/SunnyUI/Controls/UIControl.cs @@ -994,6 +994,10 @@ namespace Sunny.UI this.Invalidate(); } + [Description("开启后可响应某些触屏的点击事件"), Category("SunnyUI")] + [DefaultValue(false)] + public bool TouchPressClick { get; set; } = false; + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////// WndProc窗口程序: ////// 当按压屏幕时,产生一个WM_POINTERDOWN消息时,我们通过API函数 PostMessage 投送出一个WM_LBUTTONDOWN消息 @@ -1012,25 +1016,32 @@ namespace Sunny.UI protected override void WndProc(ref Message m) { - switch (m.Msg) + if (TouchPressClick) { - case WM_POINTERDOWN: - break; - case WM_POINTERUP: - break; - default: - base.WndProc(ref m); - return; - } + switch (m.Msg) + { + case WM_POINTERDOWN: + break; + case WM_POINTERUP: + break; + 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: - 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; + base.WndProc(ref m); } }