红鱼儿

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

posted on 2019-01-04 15:22  红鱼儿  阅读(1084)  评论(0编辑  收藏  举报