Como preparar o Form antes do showmodal

Delphi

09/03/2006

Galera tenho uma aplicação que uso meus forms todos wsMaximized e todos com a opção de Anchors para se adptar as diferentes resolução, mais percebo que depois do showModal debora um pouco para o form desenhar a tela, uma piscada e pronto, assim mostra o form do jeito que foi criado, e meio segundo ou bem menos a tela se ajusta, mais isso é horivel de ver, seguinte quero saber qual a propriedade habilitar, ou se preciso fazer alguma função para preparar o form e depois dar o shoModal sem esse Erro..

thanks


Marcos Fernando

Marcos Fernando

Curtidas 0

Respostas

Rafael Gomes

Rafael Gomes

09/03/2006

form com anchors para se adaptar a diferentes resoluçoes ...???


[]sss


GOSTEI 0
Martins

Martins

09/03/2006

[quote:208b56fd42=´Rafael Gomes´]form com anchors para se adaptar a diferentes resoluçoes ...???


[]sss[/quote:208b56fd42]

Essa é uma propriedade q está disponível apartir do D6 se não me engano, alguém poderia confirmar por favor!!!!


GOSTEI 0
Marcosrocha

Marcosrocha

09/03/2006

// Criando o Form
Application.CreateForm(TForm1,Form1);
Form1.Height := 350;
Form1.Caption := ´Form Alterado Antes do ShowModal´;
Edit1.Text := ´Alguma coisa escrita´;
// + Algum código seu (inclusive pode-se chamar procedures e functions. Mas elas tem que ser declarada na public declarations
Form1.ShowModal;
// Se quisesse pegar algum dado do Form1 antes do Free seria aqui
Form1.Free

É isso???


GOSTEI 0
Marcos Fernando

Marcos Fernando

09/03/2006

// Criando o Form 
Application.CreateForm(TForm1,Form1); 
Form1.Height := 350; 
Form1.Caption := ´Form Alterado Antes do ShowModal´; 
Edit1.Text := ´Alguma coisa escrita´; 
// + Algum código seu (inclusive pode-se chamar procedures e functions. Mas elas tem que ser declarada na public declarations 
Form1.ShowModal; 
// Se quisesse pegar algum dado do Form1 antes do Free seria aqui 
Form1.Free


não é isso que procuro, procuro algo para preparar o form antes pois ele tem o padrão 800x600 e se alguém usa uma resolução diferente ai ele tem um bug de meio segundo onde o usuário consegue ver a tele se ajustando, isso não é nada bom, fica uma coisa bem desagradavél...

thanks


GOSTEI 0
Marcosrocha

Marcosrocha

09/03/2006

Então... Depois de criar o form, eu acredito que você setou OnAlgumaCoisa que redimensiona o form não é??
Então chame esse OnAlgumaCoisa antes do ShowModal. Não tem como?


GOSTEI 0
Marcos Fernando

Marcos Fernando

09/03/2006

Como eu falei tenho um form com vários panels dbedit, e dbgrids mais nada faz redimensionamentos...

Thanks


GOSTEI 0
Marcos Fernando

Marcos Fernando

09/03/2006

bom galera achei uma solução:
no oncreate
Width := Screen.Width;
Height := Screen.Height;

thanks


GOSTEI 0
Martins

Martins

09/03/2006

[quote:7373342608=´Marcos Fernando´]bom galera achei uma solução:
no oncreate
Width := Screen.Width;
Height := Screen.Height;

thanks[/quote:7373342608]

Blz, agora está funcionando certinho?


GOSTEI 0
Marcos Fernando

Marcos Fernando

09/03/2006

opa agora tá beleza, pois assim o form pega o tamanho da resolução ai depois no showmodal fica pouca coisa para se adaptar nem dá pra perceber,,

Thanks


GOSTEI 0
Marcosrocha

Marcosrocha

09/03/2006

[quote:72fced12ba=´Marcos Fernando´]opa agora tá beleza, pois assim o form pega o tamanho da resolução ai depois no showmodal fica pouca coisa para se adaptar nem dá pra perceber,,

Thanks[/quote:72fced12ba]
Função pra pegar o Height da barra de tarefas, tendo em vista que varia dependendo do Skin do Windows
var
  hTB: HWND; // taskbar handle
  TBRect: TRect; // taskbar rectangle
begin
  hTB:= FindWindow(´Shell_TrayWnd´, ´´);
  if hTB = 0 then
    Result := 0
  else begin
    GetWindowRect(hTB, TBRect);
    Result := TBRect.Bottom - TBRect.Top;
  end;
end;



GOSTEI 0
POSTAR