No tamanho… No tamanho… No tamanho… No tamanho… No tamanho…

Tradução automática de Deepl

A pensar como criar uma interface de utilizador agradável e dinâmica? Normalmente, quando um formulário é redimensionado, os objectos do formulário cujas propriedades de dimensionamento horizontal ou vertical são definidas para se mover ou crescer, são automaticamente redimensionados. Em alguns casos (por exemplo, gestão mais fina da interface de utilizador), os programadores optam por gerir o tamanho e a posição dos objectos de formulário por programação. Para o fazer, verificam o evento “no redimensionamento” que é desencadeado dentro do método do formulário. Mas o que acontece quando o formulário contém um ou mais subformulários? A muitos níveis? Este post no blog dá-lhe as respostas!

subformulários e sub-subformulários e…

Gerir objectos subforma quando um objecto subforma “pai” é redimensionado pode parecer complicado, mas não é! Pode ser feito usando o comando Execute method in subform ou modificando o valor associado do objecto de subforma, seguido – dentro da subforma – pela gestão do evento on bound variable change gerado.

Começando com 4D v18, é ainda mais simples! É possível gerir directamente o evento on resize no método de subforma! Muito mais conveniente, lógico, e fácil! Este evento será desencadeado cada vez que o tamanho do objecto da subforma for modificado na forma principal. Isto pode acontecer quando:

  • o formulário principal é redimensionado (assim como o objecto subforma). Este é o caso mais óbvio.
  • um divisor modifica a altura ou a largura do objecto da subforma. Não é tão óbvio, mas vale a pena mencionar.
  • o tamanho de um objecto de subforma é modificado através da programação usando o comando OBJECT SET COORDINATES. Este caso é ainda menos óbvio, não o esqueça 🙂

Conclusão

Se já gere este tipo de cenários na sua aplicação, pode considerar simplificar o seu código (ou não! “Se não estiver partido, não o conserte”). Mas para desenvolvimentos futuros, irá apreciar esta simplificação da gestão de eventos!

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.