Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Hacer aplicación a pantalla completa en windows10 (https://www.clubdelphi.com/foros/showthread.php?t=90928)

cocute 10-10-2016 10:36:53

Hacer aplicación a pantalla completa en windows10
 
Hola, como debería hacer una aplicaciópn a pantalla completa
que funcione en windows10 que oculte la barra de tareas.

He probado con esto para ocultar la barra
ShowWindow(FindWindow( 'Shell_TrayWnd',nil), SW_HIDE);
y esto para mostrar al salir
ShowWindow( FindWindow( 'Shell_TrayWnd',nil), SW_SHOWNA);

pero tiene dos problemas el primero es que me oculta la barra pero esa zona aparece el gris.
luego si saliese por algo del programa forzadamente no se volvería a mostrar la barra.

Seguro que hay un modo correcto de hacerlo.

gracias

cocute 10-10-2016 12:14:19

Ya he encontrado solución con este código de ejemplo funciona perfecto en win10 x64:

Código PHP:

TForm1 = class(TForm)
    ....
  protected
    
FPreviousBoundsRectTRect;
    
procedure FlipFullScreen;
    ....
  public
    ....
  
end;

implementation

procedure TForm1
.FormCreate(SenderTObject);
begin
  FPreviousBoundsRect 
:= BoundsRect;
end;

procedure TForm1.FlipFullScreen;
var
  
WindowStyleNativeInt;
begin
  WindowStyle 
:= GetWindowLong(HandleGWL_STYLE);
  if ((
WindowStyle and WS_OVERLAPPEDWINDOW) > 0then
  begin
    FPreviousBoundsRect 
:= BoundsRect;
    
BoundsRect := Screen.MonitorFromWindow(Handle).BoundsRect;
    
SetWindowLong(HandleGWL_STYLEWindowStyle and (not WS_OVERLAPPEDWINDOW));
  
end else
  
begin
    SetWindowLong
(HandleGWL_STYLEWindowStyle or WS_OVERLAPPEDWINDOW);
    
BoundsRect := FPreviousBoundsRect;
  
end;
end


jhonny 11-10-2016 07:22:22

Gracias por compartir la solución. :)


La franja horaria es GMT +2. Ahora son las 01:06:32.

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