Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Orientación de la pantalla en Windows 10 con una Surface (https://www.clubdelphi.com/foros/showthread.php?t=93600)

HccSoft 26-11-2018 18:55:01

Orientación de la pantalla en Windows 10 con una Surface
 
Hola a todos.
He empezado una nueva aplicación con Delphi 10 para la tablet Surface Pro y no consigo detectar si la tablet está en modo "portrait" o "Landscape". He probado varios ejemplo de código pero siempre me detecta la pantalla en modo Landscape.

El código está dentro de un timer:



Código Delphi [-]
  

procedure TForm1.Timer1Timer(Sender: TObject);
var
    ScreenService: IFMXScreenService;
begin

 if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
  begin
    if ScreenService.GetScreenOrientation in [TScreenOrientation.soPortrait, TScreenOrientation.soInvertedPortrait] then
      edit1.Text:=('Portrait Orientation')
    else  
      edit1.Text:=('Landscape Orientation');
end;


Todos los ejemplos que encuentro son para IOS o Android. ¿Alguna idea?



Gracias

Casimiro Notevi 26-11-2018 20:15:02

No sé cómo será en la "Surface", aunque lo que me parece extraño es que pongas ese código en un timer.

HccSoft 28-11-2018 15:31:32

Después de buscar información he visto que la solución más sencilla es comprobar la resolución de la pantalla con screen.Width o screen.Height.
Al cambiar la orientación de la Surface esos valores se intercambian por lo que es sencillo detectarlo.


La franja horaria es GMT +2. Ahora son las 03:31:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi