Differenze tra le versioni di "Referenziare in modo appropriato lo spazio all'interno di un Contenitore rispetto ai suoi Oggetti figli"
Riga 1: | Riga 1: | ||
Lo spazio all'interno di un contenitore deve essere referenziato tramite le Proprietà ".ClientHeight" e ".ClientWidth" del Contenitore. | 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 riferiscono invece all'intero Contenitore, inclusi margini, | + | <BR>Le Proprietà ".W" e ".H" si riferiscono invece all'intero Contenitore, inclusi margini, ''header'' 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". | L'area utile è identificabile tramite le Proprietà ".ClientWidth" e ".ClientHeight". |
Versione delle 15:54, 7 mag 2023
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, header 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: