Ridimensionare… Ridimensionare… Ridimensionare… Ridimensionare… Ridimensionare…

Tradotto automaticamente da Deepl

Vi state chiedendo come creare un’interfaccia utente bella e dinamica? In genere, quando un modulo viene ridimensionato, gli oggetti del modulo le cui proprietà di dimensionamento orizzontale o verticale sono impostate per spostarsi o crescere, vengono automaticamente ridimensionati. In alcuni casi (ad esempio, per una gestione più precisa dell’interfaccia utente), gli sviluppatori scelgono di gestire le dimensioni e la posizione degli oggetti del modulo tramite la programmazione. Per farlo, controllano l’evento “on resized”, che viene attivato all’interno del metodo del form. Ma cosa succede quando il form contiene una o più sottomaschere? Su più livelli? Questo post del blog vi fornisce le risposte!

subform e sub-subform e…

La gestione degli oggetti subform quando un oggetto subform “genitore” viene ridimensionato può sembrare complicata, ma non lo è! È possibile farlo utilizzando il comando Execute method in subform oppure modificando il valore associato dell’oggetto subform, seguito – all’interno della subform – dalla gestione dell’evento on bound variable change generato.

A partire da 4D v18, è ancora più semplice! È possibile gestire l’evento on resize direttamente nel metodo della sottomaschera! Molto più comodo, logico e semplice! Questo evento viene attivato ogni volta che la dimensione dell’oggetto subform viene modificata nel modulo principale. Ciò può accadere quando:

  • il modulo principale viene ridimensionato (così come l’oggetto subform). Questo è il caso più ovvio.
  • uno splitter modifica l’altezza o la larghezza dell’oggetto subform. Non è così ovvio, ma vale la pena menzionarlo.
  • la dimensione di un oggetto subform viene modificata dalla programmazione con il comando OBJECT SET COORDINATES. Questo caso è ancora meno ovvio, non dimenticatelo 🙂

Conclusione

Se gestite già questo tipo di scenari nella vostra applicazione, potete pensare di semplificare il codice (oppure no! “Se non è rotto, non aggiustarlo”). Ma per gli sviluppi futuri, apprezzerete questa semplificazione della gestione degli eventi!

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.