FMX取得屏分辨率
procedure Tfrm_Main.FormCreate(Sender: TObject); var ScreenSvc: IFMXScreenService; Size: TPointF; begin if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenSvc)) then begin Size := ScreenSvc.GetScreenSize; end; end;
Size.x:屏宽度 Size.y:高度
通过平台的服务,很容易取得显示屏幕的宽度与高度,自从Delphi 10支持了多显示,可以通过全局的TScreen.Screen对象来得取每个屏的信息。
Screen.DisplayCount取得显示屏的数量,通过ScreenDisplays[x]取得每个显示屏对象,再通过width,height,WorkAreaRect等属性取得相关的信息。更多的细节,可以参阅官方文档:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Multiple_Display_Support