Scopo
Imposta le dimensioni di un gruppo.
Sintassi
IDPanel idp = Pannello.IDPanel()
idp.setGroupRect(groupIdx, Layout, 10, 10, 300, 20)
idp.setGroupRect(groupIdx, Layout, 10, 10, 300, 20)
Argomenti
| Group Index | Indice del gruppo, ottenuto dalla funzione AddGroup. |
| Layout | Layout per cui viene fatta l'impostazione: List o Form (vedi LayoutValues). |
| Left | Posizione sinistra del gruppo, in Lista è la somma delle larghezze di tutti i campi che lo precedono, in dettaglio è il minore tra i Left dei campi che compongono il gruppo. |
| Top | Posizione top del gruppo, in lista deve valere -9999, in dettaglio corrisponde al top del campo più in alto appartenente al gruppo (solitamente il primo). |
| Width | Larghezza del gruppo, in lista è la somma delle larghezze dei campi appartenenti al gruppo, in dettaglio dipende dalla struttura e dalla posizione dei campi appartenenti al gruppo. |
| Height | Altezza del gruppo, in lista dipende dal tema scelto (default 18), in dettaglio dipende dalla struttura e dalla posizione dei campi appartenenti al gruppo. |
Esempio di codice
IDPanel panel = PannelloDati.IDPanel()
//
// Aggiungo un gruppo
int g1 = panel.addGroup("Gruppo 1", Enabled + Visible, NuovoStileVisualeGruppo)
int listLeftGroup = 0
int listWidthGroup = 0
int formTopGroup = 0
int formWidthGroup = 0
int formHeigtGroup = 0
//
panel.setGroupHeaderSize(g1, List, 100)
panel.setGroupHeaderSize(g1, Form, 20)
//
for (int i = 0; i < 10; i = i + 1)
{
int idxNewField = 0
int len = 15
int scale = 0
int width = 200
idxNewField = panel.addField("field_name", "field_db_code", Character, len, scale, Visible + Enabled + InList + InForm + ListList, 1, NuovoStileVisuale, 0, g1, ...)
//
panel.setFieldRect(idxNewField, List, 20 + listWidthGroup, 54, width, 28, None, None)
panel.setFieldRect(idxNewField, Form, 10, 20 + formHeigtGroup, width + 300, 28, None, None)
//
// Tengo traccia delle dimensioni e posizioni dei campi
listWidthGroup = listWidthGroup + width
formHeigtGroup = formHeigtGroup + 30
formWidthGroup = 300 + width
//
panel.setFieldHeaderSize(idxNewField, Form, 150)
}
panel.setGroupRect(g1, List, listLeftGroup, -9999, listWidthGroup, 18)
panel.setGroupRect(g1, Form, 0, formTopGroup, formWidthGroup, formHeigtGroup)
panel.calcLayout()
//
// Aggiungo un gruppo
int g1 = panel.addGroup("Gruppo 1", Enabled + Visible, NuovoStileVisualeGruppo)
int listLeftGroup = 0
int listWidthGroup = 0
int formTopGroup = 0
int formWidthGroup = 0
int formHeigtGroup = 0
//
panel.setGroupHeaderSize(g1, List, 100)
panel.setGroupHeaderSize(g1, Form, 20)
//
for (int i = 0; i < 10; i = i + 1)
{
int idxNewField = 0
int len = 15
int scale = 0
int width = 200
idxNewField = panel.addField("field_name", "field_db_code", Character, len, scale, Visible + Enabled + InList + InForm + ListList, 1, NuovoStileVisuale, 0, g1, ...)
//
panel.setFieldRect(idxNewField, List, 20 + listWidthGroup, 54, width, 28, None, None)
panel.setFieldRect(idxNewField, Form, 10, 20 + formHeigtGroup, width + 300, 28, None, None)
//
// Tengo traccia delle dimensioni e posizioni dei campi
listWidthGroup = listWidthGroup + width
formHeigtGroup = formHeigtGroup + 30
formWidthGroup = 300 + width
//
panel.setFieldHeaderSize(idxNewField, Form, 150)
}
panel.setGroupRect(g1, List, listLeftGroup, -9999, listWidthGroup, 18)
panel.setGroupRect(g1, Form, 0, formTopGroup, formWidthGroup, formHeigtGroup)
panel.calcLayout()
- Questo metodo può essere chiamato solo all'apertura della videata; a videata già aperta non ha effetto.
- E' necessario che i valori impostati sul gruppo siano corretti altrimenti la visualizzazione sarà compromessa.
- Solitamente questa funzione viene eseguita dopo aver aggiunto e configurato i campi appartenenti al gruppo, in modo da avere a disposizione i valori da assegnare.
Ultima modifica: 24/05/2024 / Validità: da 24.0.9300
procedura