Fórum Redimensionar form com componentes #391003

23/11/2010

0

Redimensionar um form e os objetos tipo edit, buttons, etc manter suas posições e tamanhos, ou seja, redimensionando junto.

É possível? Exemplo se possível aqui, preciso muito disso.
Frederico Brigatte***

Frederico Brigatte***

Responder

Post mais votado

23/11/2010

Coloque um botão no formulário e altere a propriedade Anchors.akRight para True e redimencione o formulário, pode fazer isto em tempo de projeto.

Espero ter colaborado.

Wilson Junior

Wilson Junior
Responder

Gostei + 2

Mais Posts

23/11/2010

Wilson Junior

Olha Frederico, depende muito do que a sua aplicação irá fazer.
Geralmente eu defino um tamanho mínimo (1024 x 768) e coloco como requisito do software.
Já para alguns formulários, eu os defino como "WindowState = wsMaximized" e coloco os campos com as suas devidas ancôras, mas não automaticamente, pois como disse, ão são todos os formulários que eu necessito auto-ajustar.

Espero ter colaborado.
Responder

Gostei + 0

23/11/2010

Frederico Brigatte***

Olha Frederico, depende muito do que a sua aplicação irá fazer.
Geralmente eu defino um tamanho mínimo (1024 x 768) e coloco como requisito do software.
Já para alguns formulários, eu os defino como "WindowState = wsMaximized" e coloco os campos com as suas devidas ancôras, mas não automaticamente, pois como disse, ão são todos os formulários que eu necessito auto-ajustar.

Espero ter colaborado.


E como vc define isso no código? Nunca fiz assim. Sempre fazia com o padrão do delphi e vim percebendo ao longo do tempo a bagunça que ficava. Faço sempre formulários de cadastros simples e uso também Maximizado. Entende? E também nunca trabalhei com âncoras, por isso insisti no exemplo. Não quis ser chato. Quero fazer uma aplicação dinâmica.
Responder

Gostei + 0

24/11/2010

Wilson Junior

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.


Fiz um teste aqui e agora to entendendo como a ancora trabalha.

Coloquei um edit e deixei na ancora akLeft := True e akRight := False, mas pelo Object Inspector. Arrastei o form e funcionou, ele acompanha. É só saber como funciona :

akLeft
akTop
akRight
akBottom

É isso, né?

Para deixar em tempo de execução, não estou conseguindo fazer.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.


Fiz um teste aqui e agora to entendendo como a ancora trabalha.

Coloquei um edit e deixei na ancora akLeft := True e akRight := False, mas pelo Object Inspector. Arrastei o form e funcionou, ele acompanha. É só saber como funciona :

akLeft
akTop
akRight
akBottom

É isso, né?

Para deixar em tempo de execução, não estou conseguindo fazer.


Agora estou com o seguinte problema:

Quando uso apenas um edit e altero as propriedades Anchor pelo Object Inspect como está descrito acima, funciona direitinho. Ao acrescentar um label e alterar as propriedades Anchor, o label não acompnha o edit.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.



Fiz um teste aqui e agora to entendendo como a ancora trabalha.

Coloquei um edit e deixei na ancora akLeft := True e akRight := False, mas pelo Object Inspector. Arrastei o form e funcionou, ele acompanha. É só saber como funciona :

akLeft
akTop
akRight
akBottom

É isso, né?

Para deixar em tempo de execução, não estou conseguindo fazer.


Agora estou com o seguinte problema:

Quando uso apenas um edit e altero as propriedades Anchor pelo Object Inspect como está descrito acima, funciona direitinho. Ao acrescentar um label e alterar as propriedades Anchor, o label não acompnha o edit.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.



Fiz um teste aqui e agora to entendendo como a ancora trabalha.

Coloquei um edit e deixei na ancora akLeft := True e akRight := False, mas pelo Object Inspector. Arrastei o form e funcionou, ele acompanha. É só saber como funciona :

akLeft
akTop
akRight
akBottom

É isso, né?

Para deixar em tempo de execução, não estou conseguindo fazer.


Agora estou com o seguinte problema:

Quando uso apenas um edit e altero as propriedades Anchor pelo Object Inspect como está descrito acima, funciona direitinho. Ao acrescentar um label e alterar as propriedades Anchor, o label não acompnha o edit.

Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Como lhe falei, não são todos os formulários que utilizo, então para os poucos que utilizo, eu altero as propriedades de cada componente no "Object inpector" mesmo, ou seja, não escrevo código, apenos altero as propriedades de cada componente.

Espero ter colaborado.



Fiz um teste aqui e agora to entendendo como a ancora trabalha.

Coloquei um edit e deixei na ancora akLeft := True e akRight := False, mas pelo Object Inspector. Arrastei o form e funcionou, ele acompanha. É só saber como funciona :

akLeft
akTop
akRight
akBottom

É isso, né?

Para deixar em tempo de execução, não estou conseguindo fazer.


Agora estou com o seguinte problema:

Quando uso apenas um edit e altero as propriedades Anchor pelo Object Inspect como está descrito acima, funciona direitinho. Ao acrescentar um label e alterar as propriedades Anchor, o label não acompnha o edit.

Responder

Gostei + 0

24/11/2010

Wilson Junior

Para você saber como funciona as ancôras, você pode ficar fazendo testes com elas, pois a mesma tem 4 opções, sendo que pode ter várias combinações. Por isto lhe disse para fazer testes em tempo de projeto.
Mas você está indo pelo caminho certo.

Espero ter colaborado.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Para você saber como funciona as ancôras, você pode ficar fazendo testes com elas, pois a mesma tem 4 opções, sendo que pode ter várias combinações. Por isto lhe disse para fazer testes em tempo de projeto.
Mas você está indo pelo caminho certo.

Espero ter colaborado.


Então, mas com um edit até fiz funcionar. O problema é quando coloca outro, ai estou tendo dificuldade, é assim mesmo?
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Para você saber como funciona as ancôras, você pode ficar fazendo testes com elas, pois a mesma tem 4 opções, sendo que pode ter várias combinações. Por isto lhe disse para fazer testes em tempo de projeto.
Mas você está indo pelo caminho certo.

Espero ter colaborado.


Então, mas com um edit até fiz funcionar. O problema é quando coloca outro, ai estou tendo dificuldade, é assim mesmo?


Agora com dois, quando dimensiono esquerda e direita, funciona. O problema está quando faço pra cima e para baixo. Quando subo, o edit2 no caso, vai se aproximando do edit1 até ficar em cima do mesmo. A única propriedade que está True é akLeft nos dois edits.
Responder

Gostei + 0

24/11/2010

Wilson Junior

Neste caso você terá que controlar "no braço", ou seja, no evento OnResize do Form você terá que ajustar a propriedade "Top" do seu Edit2.
Geralmente utilizo o redimensinamento para a largura dos componentes e não utilizo para a altura.
Caso queira aumentar proporcionalmente todos os componentes conforme a tela, você terá que fazer "no braço", pois eu não conheço nenhum programa/componente que faça isto.

Espero ter colaborado.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Neste caso você terá que controlar "no braço", ou seja, no evento OnResize do Form você terá que ajustar a propriedade "Top" do seu Edit2.
Geralmente utilizo o redimensinamento para a largura dos componentes e não utilizo para a altura.
Caso queira aumentar proporcionalmente todos os componentes conforme a tela, você terá que fazer "no braço", pois eu não conheço nenhum programa/componente que faça isto.

Espero ter colaborado.


Só para finalizar, porque acho que consegui aqui, como fazer um programa em uma determinada resolução, como vc mesmo mencionou, por exemplo, utilizo 1280x1024, quero fazer em 800x600, tenho que mudar pelo windows? Essa é para encerrar.
Responder

Gostei + 0

24/11/2010

Wilson Junior

Não, você pode fazer o seu sistema com as telas em tamanho mínimo de 800x600 (800x570 por causa da barra de tarefas do windows), ou seja, como requisito para utilizar o seu sistema o usuário deverá ter resolução de 800x600.

Espero ter colaborado.
Responder

Gostei + 0

24/11/2010

Frederico Brigatte***

Neste caso você terá que controlar "no braço", ou seja, no evento OnResize do Form você terá que ajustar a propriedade "Top" do seu Edit2.
Geralmente utilizo o redimensinamento para a largura dos componentes e não utilizo para a altura.
Caso queira aumentar proporcionalmente todos os componentes conforme a tela, você terá que fazer "no braço", pois eu não conheço nenhum programa/componente que faça isto.

Espero ter colaborado.


Só para finalizar, porque acho que consegui aqui, utilizei GroupBox.

Como fazer um programa em uma determinada resolução, como vc mesmo mencionou, por exemplo, utilizo 1280x1024, quero fazer em 800x600, tenho que mudar pelo windows? Essa é para encerrar.

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar