Delphi Abrir Form Secundário e posicionando ele no centro do form Principal com deslocamento para cima
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
Curtidas 0
Melhor post
Arthur Heinrich
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.
GOSTEI 1
Mais Respostas
Mauricio Gabriel
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.
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] ....
GOSTEI 0