Array
(
)

Como preparar o Form antes do showmodal

Marcos Fernando
   - 09 mar 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


Rafael Gomes
   - 09 mar 2006

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


[]sss


Martins
   - 09 mar 2006


Citação:
form com anchors para se adaptar a diferentes resoluçoes ...???


[]sss


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


Marcosrocha
   - 09 mar 2006

#Código

// 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???


Marcos Fernando
   - 09 mar 2006

#Código

// 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


Marcosrocha
   - 10 mar 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?


Marcos Fernando
   - 10 mar 2006

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

Thanks


Marcos Fernando
   - 10 mar 2006

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

thanks


Martins
   - 10 mar 2006


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

thanks


Blz, agora está funcionando certinho?


Marcos Fernando
   - 10 mar 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


Marcosrocha
   - 10 mar 2006


Citação:
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

Função pra pegar o Height da barra de tarefas, tendo em vista que varia dependendo do Skin do Windows
#Código

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;