FAQ FM
Устройство
Экран

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как получить разрешение экрана, его логические и физические размеры?

uses
  FMX.Platform;

procedure TForm2.Button1Click(Sender: TObject);
var
  ScreenService: IFMXScreenService;
  LogicScreenSize: TPoint;
  ScreenScale: Single;
begin
  // Запрашиваем сервис экрана, для получения информации о размере и текущем коэффициенте масштабирования
  if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
  begin
     LogicScreenSize := ScreenService.GetScreenSize.Round;
     ScreenScale := ScreenService.GetScreenScale;
     LabelLogicScreenSize.Text := Format('Логический размер: %d, %d',
                                         [LogicScreenSize.X, LogicScreenSize.Y]);
     LabelPhysicScreenSize.Text := Format('Физический размер: %f, %f',
                                          [LogicScreenSize.X * ScreenScale, LogicScreenSize.Y * ScreenScale]);
     LabelScreenScale.Text := Format('Коэффициент масштабирования: %f',
                                     [ScreenService.GetScreenScale]);
  end;
end;

При использовании материала - ссылка на сайт обязательна