From 7406cfb29918bd45bfb193a3255df1af60a4c49f Mon Sep 17 00:00:00 2001 From: JianjunLiu Date: Wed, 8 Nov 2023 11:49:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化windows下多屏幕大小的计算 --- funcext/tvclib/tslvcl.tsf | 12 +++++++----- funcext/tvclib/utslvclbase.tsf | 14 +++++++++++++- funcext/tvclib/utslvclmemstruct.tsf | 5 ++--- funcext/tvclib/utslvclstdctl.tsf | 26 +++++++++++++------------- funcext/tvclib/uwindowsinterface.tsf | 6 ++++-- 5 files changed, 39 insertions(+), 24 deletions(-) diff --git a/funcext/tvclib/tslvcl.tsf b/funcext/tvclib/tslvcl.tsf index 3c33fc3..0a28b59 100644 --- a/funcext/tvclib/tslvcl.tsf +++ b/funcext/tvclib/tslvcl.tsf @@ -3953,7 +3953,7 @@ type tdatetimepicker = class(tthreeEntry) FCalender.WsPopUp := true; FCalender.parent := self; FCalender.Visible := false; - FScreenRect := _wapi.GetScreenRect(); + //FScreenRect := _wapi.GetScreenRect(); decodedate(date(),y,m,d); setDate(y,m,d); FCalender.onSelect := function(o,e)begin @@ -4067,10 +4067,12 @@ type tdatetimepicker = class(tthreeEntry) if FCalender.Visible = nv then return FCalender.show(0); rc := ClientRect; nrc := ClientToScreen(rc[0],rc[3]); - if FScreenRect[3]-nrc[1]<200 then + p2 := clienttoscreen(rc[0],rc[1]+FCalender.height); + src := _wapi.GetScreenRect(nrc); + if (src[3]