Quick Tips: Aplicação em tela cheia no Delphi

 

Nesta quick tip veremos como colocarmos nossa aplicação Delphi para aparecer em tela cheia.

 

As vezes temos a necessidade de colocarmos nossa aplicação em tela cheia logo que a mesma é iniciada, sem exibir sequer a barra de tarefas do Windows, isso é muito comum em sistema de PDV(Ponto de venda) por exemplo. Veremos abaixo qual o código necessário para conseguirmos isso em nossas aplicações Delphi.

 

Precisamos inserir o seguinte código no evento formcreate do formulário principal da aplicação.

 

procedure TForm1.FormCreate(Sender: TObject);

var

  HTaskbar: HWND;

  OldVal: LongInt;

begin

  // Encontra a janela da aplicação na taskbar

  HTaskBar := FindWindow('Shell_TrayWnd', nil);

  // Desabilita a taskBar

  EnableWindow(HTaskBar, False);

  // Oculta a TaskBar

  ShowWindow(HTaskbar, SW_HIDE);

  //Tira a borda do formulário

  Form1.BorderStyle := bsNone;

  //Configura o formulário para ficar sempre a frente de outras janelas

  Form1.FormStyle := fsStayOnTop;

  //Altera a pomsição do form, para "colar" à esquerda e ao topo

  Form1.Left := 0;

  Form1.Top  := 0;

  //Altera o tamanho do formulário para o tamanho da tela

  Form1.Height := Screen.Height;

  Form1.Width := Screen.Width;

end;

 

Após o uso da aplicação, temos que voltar as configurações da taskbar do Windows, para isso usamos o código abaixo no evento OnClose do formulário principal da aplicação.

 

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

var  HTaskbar: HWND;

  OldVal: LongInt;

begin

  //Encontra a janela da aplicação na TaskBar

  HTaskBar := FindWindow('Shell_TrayWnd', nil);

  //habilita novamente a 'taskbar

  EnableWindow(HTaskBar, True);

  //Exibe novamente a taskbar

  ShowWindow(HTaskbar, SW_SHOW);

end;

 

É isso aí pessoal, vou ficando por aqui.

Fiquem a vontade para criticar, tirar dúvidas e sugerir novos temas.
Abraço.

Ricardo Coelho