Erro em Form.Position !!!!!!!!!!!
Colegas..
Preciso de resolver um problema com o posicionamento inicial do meu form..
É o seguinte, estou criando um componente de senha. Neste componente crio um form, assim :
if l_form = ´frmInicial´ then
begin
s_form_inicial := TForm.Create(self);
with s_form_inicial do
begin
Name := l_form;
BorderIcons := [];
BorderStyle := fbsSizeable;
FormStyle := fsNormal;
Parent := F_Verifica_Form;
WindowState := wsNormal;
Position := poScreenCenter;
P_Constraints(s_form_inicial, 80, 193);
KeyPreview := false;
Caption := ´Configurar Relatório´;
OnClose := P_FormCloseInicial;
OnShow := P_FormShowInicial;
end;
P_Cria_Panels(l_form);
P_Cria_Botoes(l_form);
s_form_inicial.ShowModal;
end
o problema está no Positon, repare que passo o valor correto, mas o delphi não está seguindo esta regra, ele abre o form em outro lugar que não é o centro..
Como resolver este problema??
Agradeço muito a atenção de todos..
Cabelo
Preciso de resolver um problema com o posicionamento inicial do meu form..
É o seguinte, estou criando um componente de senha. Neste componente crio um form, assim :
if l_form = ´frmInicial´ then
begin
s_form_inicial := TForm.Create(self);
with s_form_inicial do
begin
Name := l_form;
BorderIcons := [];
BorderStyle := fbsSizeable;
FormStyle := fsNormal;
Parent := F_Verifica_Form;
WindowState := wsNormal;
Position := poScreenCenter;
P_Constraints(s_form_inicial, 80, 193);
KeyPreview := false;
Caption := ´Configurar Relatório´;
OnClose := P_FormCloseInicial;
OnShow := P_FormShowInicial;
end;
P_Cria_Panels(l_form);
P_Cria_Botoes(l_form);
s_form_inicial.ShowModal;
end
o problema está no Positon, repare que passo o valor correto, mas o delphi não está seguindo esta regra, ele abre o form em outro lugar que não é o centro..
Como resolver este problema??
Agradeço muito a atenção de todos..
Cabelo
Cabelo
Curtidas 0
Respostas
Cabelo
12/07/2004
Sobe..
GOSTEI 0
Marcelo Saviski
12/07/2004
e isso aqui?
[color=green:f5409baa30][b:f5409baa30]Parent := F_Verifica_Form; [/b:f5409baa30][/color:f5409baa30]
é um MDI, ou é só p/ o form aparecer dentro de outro?
creio que seja por causa disso.
[color=green:f5409baa30][b:f5409baa30]Parent := F_Verifica_Form; [/b:f5409baa30][/color:f5409baa30]
é um MDI, ou é só p/ o form aparecer dentro de outro?
creio que seja por causa disso.
GOSTEI 0
Cabelo
12/07/2004
Caro Marcelo..
esta é uma função que retorna o Form que está chamando o componente, esta função tem um vetor com todos os forms do projeto principal, e a partir do form que eu chamo é que passo o parent..
para poder associar o select.. de uma das SQLQuery´s..
Não deve ser isso, pois é só parent, e mesmo sendo parent não deveria alterar o posicionamento dele na tela..
já que dou um showModal..
agradeço a atenção..
Cabelo
esta é uma função que retorna o Form que está chamando o componente, esta função tem um vetor com todos os forms do projeto principal, e a partir do form que eu chamo é que passo o parent..
para poder associar o select.. de uma das SQLQuery´s..
Não deve ser isso, pois é só parent, e mesmo sendo parent não deveria alterar o posicionamento dele na tela..
já que dou um showModal..
agradeço a atenção..
Cabelo
GOSTEI 0
Cabelo
12/07/2004
Colega
Tentei mudar o que vc me sugeriu, e como eu havia previsto não alterou em nada, já que dou um showmodal..
ele continua a posicionar - se fora do centro, o problema é que as vezes ele aparece bem próximo da borda da tela, dando um aspecto horrível pra quem trabalha com esta ferramenta..
se puderem me ajudar...
Cabelo
Tentei mudar o que vc me sugeriu, e como eu havia previsto não alterou em nada, já que dou um showmodal..
ele continua a posicionar - se fora do centro, o problema é que as vezes ele aparece bem próximo da borda da tela, dando um aspecto horrível pra quem trabalha com esta ferramenta..
se puderem me ajudar...
Cabelo
GOSTEI 0
Dedi
12/07/2004
Acredito que seja isto:
Você está criando o form s_form_inicial e depois alterando o nome para l_form.
Retire a linha [color=darkred:4108e0162e]//Parent := F_Verifica_Form;[/color:4108e0162e]
e veja o que acontece.
Veja este exemplo.
Você está criando o form s_form_inicial e depois alterando o nome para l_form.
Retire a linha [color=darkred:4108e0162e]//Parent := F_Verifica_Form;[/color:4108e0162e]
e veja o que acontece.
Veja este exemplo.
procedure TForm1.Button1Click(Sender: TObject); var Meu_form:TForm; begin Meu_form := TForm.Create(self); with Meu_form do begin Name := ´Meu_form´; BorderStyle := (bsDialog); FormStyle := fsNormal; WindowState := wsNormal; Position := poScreenCenter; KeyPreview := false; Caption := ´Meu formulario´; Meu_form.ShowModal; Meu_form.Free; end
GOSTEI 0
Cabelo
12/07/2004
Colega..
Primeiro o nome s_form_inicial é o nome da minha variável, e não tem nada haver com o nome do meu form, segundo o Parent, que é indicado pelo vetor que é implementado no F_Verifica_Form, não pode deixar de existir, já que passo parâmetros para o form em execução..
Mesmo assim eu segui sua sugestão e não deu certo, continuou a mesma coisa, não obtive alteração no posicionamento do meu form..
se tiver outra sugestão eu agradeço..
Cabelo
Primeiro o nome s_form_inicial é o nome da minha variável, e não tem nada haver com o nome do meu form, segundo o Parent, que é indicado pelo vetor que é implementado no F_Verifica_Form, não pode deixar de existir, já que passo parâmetros para o form em execução..
Mesmo assim eu segui sua sugestão e não deu certo, continuou a mesma coisa, não obtive alteração no posicionamento do meu form..
se tiver outra sugestão eu agradeço..
Cabelo
GOSTEI 0
Marcelo Saviski
12/07/2004
faça no ´braço´ então
certo?
Form.Left := (Screen.Width - Form.Width) div 2; Form.Top := (Screen.Height - Form.Height) div 2;
certo?
GOSTEI 0
Cabelo
12/07/2004
Marcelo, mais uma vez vc me salvando..rs..
Deu certo..
exatamente como eu queria..
muito obrigado..
Cabelo
Deu certo..
exatamente como eu queria..
muito obrigado..
Cabelo
GOSTEI 0