Delphi Abrir Form Secundário e posicionando ele no centro do form Principal com deslocamento para cima
31/03/2023
0
Bom dia amigos.
Gostaria de uma ajuda de vocês ...
Tenho um form Principal que esta abrindo no centro da Tela , pois sua propriedade no Object Inspector esta como "poScreenCenter"
que chamar um segundo form acima desse principal, este form secundário esta com sua propriedade no Object Inspector como "poMainFormCenter" , ou seja , vai abrir no centro do form Principal.
é aqui que queria mudar ... gostaria que ele abrisse com deslocamento de 2 centímetros para cima do centro do form Principal.
em resumo, abrir o form secundário no centro do principal , em seguida deslocar ele para cima (TOP) .
Não posso deixar esse valor fixo nas propriedades, porque dependendo da resolução do monitor , não vai certo ....
Antecipo cordial agradecimento a todos por me ajudar.
Gostaria de uma ajuda de vocês ...
Tenho um form Principal que esta abrindo no centro da Tela , pois sua propriedade no Object Inspector esta como "poScreenCenter"
que chamar um segundo form acima desse principal, este form secundário esta com sua propriedade no Object Inspector como "poMainFormCenter" , ou seja , vai abrir no centro do form Principal.
é aqui que queria mudar ... gostaria que ele abrisse com deslocamento de 2 centímetros para cima do centro do form Principal.
em resumo, abrir o form secundário no centro do principal , em seguida deslocar ele para cima (TOP) .
Não posso deixar esse valor fixo nas propriedades, porque dependendo da resolução do monitor , não vai certo ....
Antecipo cordial agradecimento a todos por me ajudar.
Mauricio Gabriel
Curtir tópico
+ 0
Responder
Post mais votado
31/03/2023
Você precisa ajustar dinamicamente as propriedades do form 2, para a posição que deseja.
Supondo que você não precisa alterar o tamanho dos forms 1 e 2, terá que ajustar apenas as propriedades Top e Left.
Para ajustar o form 2 ao centro do form 1, você pode utilizar:
Se quer que seja um pouco mais para cima:
Calcular 2 cm exatos exige que você tenha acesso a informações sobre a resolução do monitor, que pode variar bastante.
No exemplo eu chutei 60 pixels, baseado numa resolução de aproximadamente 75 pixels/polegada.
Você pode adicionar este código no evento OnShow, por exemplo.
Supondo que você não precisa alterar o tamanho dos forms 1 e 2, terá que ajustar apenas as propriedades Top e Left.
Para ajustar o form 2 ao centro do form 1, você pode utilizar:
Form2.Left:=Form1.Left+((Form1.Width-Form2.Width) div 2); Form2.Top:=Form1.Top+((Form1.Height-Form2.Height) div 2);
Se quer que seja um pouco mais para cima:
Form2.Left:=Form1.Left+((Form1.Width-Form2.Width) div 2); Form2.Top:=Form1.Top+((Form1.Height-Form2.Height) div 2) - 60;
Calcular 2 cm exatos exige que você tenha acesso a informações sobre a resolução do monitor, que pode variar bastante.
No exemplo eu chutei 60 pixels, baseado numa resolução de aproximadamente 75 pixels/polegada.
Você pode adicionar este código no evento OnShow, por exemplo.
Arthur Heinrich
Responder
Mais Posts
31/03/2023
Mauricio Gabriel
Você precisa ajustar dinamicamente as propriedades do form 2, para a posição que deseja.
Supondo que você não precisa alterar o tamanho dos forms 1 e 2, terá que ajustar apenas as propriedades Top e Left.
Para ajustar o form 2 ao centro do form 1, você pode utilizar:
Se quer que seja um pouco mais para cima:
Calcular 2 cm exatos exige que você tenha acesso a informações sobre a resolução do monitor, que pode variar bastante.
No exemplo eu chutei 60 pixels, baseado numa resolução de aproximadamente 75 pixels/polegada.
Você pode adicionar este código no evento OnShow, por exemplo.
Supondo que você não precisa alterar o tamanho dos forms 1 e 2, terá que ajustar apenas as propriedades Top e Left.
Para ajustar o form 2 ao centro do form 1, você pode utilizar:
Form2.Left:=Form1.Left+((Form1.Width-Form2.Width) div 2); Form2.Top:=Form1.Top+((Form1.Height-Form2.Height) div 2);
Se quer que seja um pouco mais para cima:
Form2.Left:=Form1.Left+((Form1.Width-Form2.Width) div 2); Form2.Top:=Form1.Top+((Form1.Height-Form2.Height) div 2) - 60;
Calcular 2 cm exatos exige que você tenha acesso a informações sobre a resolução do monitor, que pode variar bastante.
No exemplo eu chutei 60 pixels, baseado numa resolução de aproximadamente 75 pixels/polegada.
Você pode adicionar este código no evento OnShow, por exemplo.
Boa tarde Arthur Heinrich ...
Muito obrigado por sua contribuição em aumentar nosso conhecimento e compartilhar esse conhecimento ...
Vou aplicar aqui ... Muito obrigado...
Só não sei como colocar o status como [Resolvido] ....
Responder
Clique aqui para fazer login e interagir na Comunidade :)