Differenze tra le versioni di "Referenziare in modo appropriato lo spazio all'interno di un Contenitore rispetto ai suoi Oggetti figli"
(Creata pagina con "Lo spazio all'interno di un contenitore deve essere referenziato tramite le Proprietà ".ClientHeight" e ".ClientWidth" del Contenitore. <BR>Le Proprietà ".W" e ".H" si rifer...") |
|||
Riga 13: | Riga 13: | ||
=Note= | =Note= | ||
− | * Per un esempio pratico vedere la seguente pagina: [[Fissare_la_distanza_di_un_oggetto_in_modo_costante_rispetto_ai_bordi_del_Form_durante_il_suo_ridimensionamento|Fissare la distanza di un oggetto in modo costante rispetto ai bordi del Form durante il suo ridimensionamento]] | + | * Per un esempio pratico vedere la seguente pagina: |
+ | [[Fissare_la_distanza_di_un_oggetto_in_modo_costante_rispetto_ai_bordi_del_Form_durante_il_suo_ridimensionamento|Fissare la distanza di un oggetto in modo costante rispetto ai bordi del Form durante il suo ridimensionamento]] |
Versione delle 12:31, 9 dic 2021
Lo spazio all'interno di un contenitore deve essere referenziato tramite le Proprietà ".ClientHeight" e ".ClientWidth" del Contenitore.
Le Proprietà ".W" e ".H" si riferiscono invece all'intero Contenitore, inclusi margini, headee e quant'altro. Quindi fare riferimento a queste due ultime Proprietà può portare a calcoli errati.
L'area utile è identificabile tramite le Proprietà ".ClientWidth" e ".ClientHeight".
Tramite queste Proprietà ci si può spostare senza problemi nella zona assegnata agli Oggetti "figli" del Contenitore.
Stessa cosa avviene per il posizionamento del margine Top/Left, che deve corrispondere come limite alle Proprietà ".ClientX" e ".ClientY" pur essendo comunque che queste sono sempre 0,0 e quindi non si hanno problemi.
Nel caso specifico di una ScrollBox, la questione è più accentuata a causa degli Oggetti che sono già presenti nel Contenitore (es. le ScrollBar laterali e in basso), e tenendo anche presente che l'area utile è più grande di quella visibile.
In effetti ci sono due aree identificabili: l'area visibile e l'area di scroll (mediamente più grande). Le proprietà di individuazione sono perciò diverse.
Per l'area visibile si utilizzano le Proprietà .ScrollX/.ScrollY/.ScrollH/.ScrollW, che hanno origine non più da zero, ma dalla posizione della zona all'interno dell'area totale. Invece per l'area totale si utilizzano le classiche Proprietà ".ClientX/.ClientY/.ClientH/.ClientW".
Note
- Per un esempio pratico vedere la seguente pagina: