DEFGROUPBOX
La specifica '@DEFGROUPBOX consente di definire un controllo Groupbox sulla videata. ovvero un rettangolo che racchiude un insieme di controlli e riporta nel bordo superiore un'etichetta (label).
L'unico scopo del Groupbox è quello di organizzare i controlli in base ad una loro funzionalità comune (tipicamente indicato dall'etichetta).
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| ID | Stringa | ||||
| VAR | Variabile | ||||
| POS | |||||
| DIM | |||||
| FMT | Stringa | ||||
| STILE | Stringa | ||||
| NASCOSTO | Condizione | ||||
| DISABILITATO | Condizione | ||||
| LINEARE | Intero | ||||
| BANDA | |||||
| GRID | |||||
| STACK | |||||
| EXPANDER | |||||
| DOCK | |||||
| PERSONALIZZABILE | Intero | ||||
| LINKTO |
ID
Definisce la variabile o la costante di programma che contiene l'identificatore univoco del controllo.
Viene utilizzato dall'ambiente per gestire le personalizzazioni effettuate durante l'esecuzione del programma.
VAR
Testo da visualizzare nel controllo.
Costante definita tra doppi apici o variabile di tipo stringa.
Se questo parametro non è presente, l'etichetta non sarà visibile e il contorno del controllo risulterà come un bordo rettangolare continuo.
POS
Posizionamento del controllo.
Consente di indicare la riga e la colonna. Per entrambi è possibile specificare l'unità di misura.
POS[RigaVid [UnitàMisura], ColonnaVid [UnitàMisura]]
L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.
DIM
Dimensione del controllo.
Consente di indicare l'altezza e la larghezza. Per entrambi è possibile specificare l'unità di misura.
DIM[Altezza [UnitàMisura], Larghezza [UnitàMisura]]
L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.
FMT
Parametro che definisce il formato dell'etichetta del Groupbox.
Deve essere presente solo quando il controllo possiede un etichetta.
FormatoTesto: formato da applicare all'etichetta.
Il formato del testo è obbligatorio per un testo variabile, mentre può essere omesso nel caso di testo costante.
In questo caso il formato sarà 'TESTO' ed il numero di caratteri viene determinato direttamente dal testo.
Può essere una delle costanti definite in BC per la definizione dei formati dei controlli, o un nuovo formato precedentemente definito con una specifica '@DEFFORMAT.
<tabella>Il formato deve essere coerente con il tipo della variabile o il testo costante presente in VAR[]'. </tabella> Il numero di caratteri mostrati a video corrisponde a quello indicato all'interno del formato. Nel caso di formato TESTO è possibile omettere il numero di caratteri. (es.: FMT[TESTO]). In questo caso tale numero verrà determinato in base alla lunghezza della stringa, in caso di costante, od alla dimensione della variabile. <tabella> Fase Descrizione VAR['xxxxxx'] FMT[TESTO] Lunghezza stringa costante VAR[STRVAR$] FMT[TESTO] Dimensione della variabile VAR['xxxxxx'] FMT[TESTO[5]] 5 VAR[STRVAR$] FMT[TESTO[10]] 10 </tabella>
STILE
Permette di assegnare uno stile, precedentemente definito con la specifica '@DEFSTYLE, all'etichetta del groupbox.
Lo stile sarà applicato solo all'etichetta del controllo.
NASCOSTO
Parametro che consente di nascondere o visualizzare il controllo.
Quando il Groupbox è nascosto vengono resi invisibili il bordo e l'etichetta.
Se questo parametro non è presente il controllo risulta visibile di default.
EspNascosto: Determina la visualizzazione del controllo.
È uguale alle espressioni presenti nei condizionamenti '@IFC/'@IFCO, ovvero è nella forma 'A operatore B' dove 'operatore' può essere '=, >, ≥, <, ≤, <>'.
All'interno dell'espressione è possibile utilizzare gli operatori 'AND' e 'OR' per generare istruzioni condizionali composte.
Se l'espressione risulta vera il controllo viene nascosto, in caso contrario viene visualizzato.
DISABILITATO
Determina se il controllo è abilitato o disabilitato.
Se il Groupbox è disabilitato il testo dell'etichetta assumerà un colore grigi scuro.
Contrariamente, se questo parametro non è presente, il controllo risulterà abilitato di default.
LINEARE
Se presente, la groupbox non sarà più visualizzata come riquadro contenente delle informazioni (malgrado debba essere definito come tale) ma semplicemente una linea con un titolo. Può essere una costante o una variabile di tipo intero.
Se presente il solo parametro LINEARE[] il valore di default è 1.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Groupbox normale |
1 | Groupbox lineare |
BANDA
Definisce il tipo di banda da applicare.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
NESSUNA | NESSUNA |
SOLIDAROSSA | SOLIDAROSSA |
SFUMATAROSSA | SFUMATAROSSA |
SOLIDABLU | SOLIDABLU |
SFUMATABLU | SFUMATABLU |
GRID
Attached Property per pannello di tipo Grid
EXPANDER
Attached Property per pannello di tipo Expander
DOCK
Consente di indicare se l'oggetto deve occupare tutto lo spazio del DockPanel in verticale e/o in orizzontale (possono essere indicati entrambi).
PERSONALIZZABILE
[FlagSiNo] Definisce l'oggetto grafico come personalizzabile dall'utente in fase di runtime. Attached Property - (Input) - (Disponibile da BC/X v. 22.0) GRID[ COL[] RIGA[] COLSPAN[] RIGASPAN[] COLDIN[] RIGADIN[] ] oppure STACK[ [VERTICALE] [ORIZZONTALE] [ESTESO] ] oppure EXPANDER[ [VERTICALE] [ORIZZONTALE] [POSINFO] ] oppure DOCK[ [VERTICALE] [ORIZZONTALE] ] Le Attached Property di un oggetto inserito all'interno di un pannello definiscono le modalità di visualizzazione dell'oggetto nel pannello e definiscono il comportamento da adottare quando sono modificate a run-time le dimensioni della videata (conseguentemente le dimensioni del pannello contenitore, conseguentemente quelle del controllo). Se l'oggetto viene definito all'interno di un pannello contenitore di tipo Grid è OBBLIGATORIO definire le sue Attached Property; se l'oggetto viene definito all'interno di un pannello di tipo Expander/Stack/Dock NON E' OBBLIGATORIO definire le sue Attached Property. Nell'esempio, un Groupbox contiene la definizione di un Albero: <tabella> BC ''@IVA DIM[] '@IVPX -------------------------------------| +-|GROUPBOX:GROUP1| | +----|ALBERO:TREE1|------------+ | | | | | | | | | | | | | | | | | | | | | | | | | +------------------------------+ | -+ | -------------------------------------| GROUP1: VAR['TITOLO DEL GROUPBOX'] TREE1: INSNODI[GOSUB INSERISCINODI] TOTFIGLI[MAXFIGLI%] DINAMICO '@IVPF' </tabella> Nell'esempio, una videata con diversi Groupbox affiancati. <tabella> Si noti che ogni Groupbox è definito nel pannello solo dai caratteri +- per indicarne l'inizio e -+ per indicarne la fine, non devono essere invece indicati gli altri due angoli (in alto a destra e in basso a sinistra) perché il traduttore non riesce a riconoscere correttamente le dimensioni della Groupbox stessa. </tabella> <tabella> BC ''@DEFVID DIM[] POS[1,1] ID['TESTA_1'] '@IVPX ----------------------------------------------------------------------------------------------------| +-|GROUPBOX:GROUP_1|- +-|GROUPBOX:GROUP_2|- | Attivita'^^ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Tipo registrazione ^^^^ $$$$$$$$$$$$$$$$$$$$ | Numero ^^ $$$$$$$$$$$$$$$$$$$ -+ Tipo documento $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ | +-|GROUPBOX:GROUP_3|- Tipo numerazione ^^^^^^^^^^^^^^^^^^^^ | Codice ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Data ^^/^^/^^^^ Numero{^^^^^^^} $$$ -+ | P.IVA ^^^^^^^^^^^^ +-|GROUPBOX:GROUP_5|- | Conto ^^^^^^^^^^ $$$$$$$$$$$$$$$$$$$$$$$$ Periodo/Anno ^^ / ^^^^ -+ | Valuta ^^^ {Cambio ^^^^^^,^^^^^^} -++-|GROUPBOX:GROUP_4|- | Data ^^/^^/^^^^ Numero ^^^^^^^ {^^^^^ / ^^^} | {Centro di imputazione ^^^^^} $$$$$$$$$$$$$$$$$ Totale documento ^^^^^^^^^^^^,1^- -+| ----------------------------------------------------------------------------------------------------| GROUP_1: VAR[DES_GROUP1$] STILE[BC_BOLD] GROUP_2: VAR['Estremi registrazione'] STILE[BC_BOLD] GROUP_3: VAR[DES_GROUP3$] STILE[BC_BOLD] GROUP_4: VAR['Estremi documento'] STILE[BC_BOLD] GROUP_5: VAR['Competenza IVA'] STILE[BC_BOLD]' </tabella>
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
LINKTO
[ID[IdentificativoControllo] PRINCIPALE[FlagSiNo]]
Permette di creare un legame tra due controlli esistenti all'interno della stessa videata.
Esempi
Definizione semplice
' Definizione variabili
DIM VarText[STRING]
DIM VarInt[INT]
DIM VarDouble[DOUBLE]
DIM VarDate[DATE]
DIM Label[STRING]
' Definizione videata
'@DEFVID DIM[20,70] NOME[Videata] ID["VIDEATA"] TIT["Titolo Videata"] TOOLBAR[IDTOOLBAR["TOOLBAR"]]
'@DEFTOOLBAR IDTOOLBAR["TOOLBAR"] _
BOTTONE[IDBOTTONE["SYS_EXIT"] AZIONE[Exit()]] _
BOTTONE[IDBOTTONE["SYS_EXIT_ESC"] AZIONE[Exit()] NASCOSTO[1]]
' ...Definizione GridPanel per videata dinamica...
' Definizione GroupBox
'@DEFGROUPBOX VAR["Insieme di controlli base (groupbox)"] POS[1,1] DIM[6,71] ID["GROUPBOX"] FMT[TESTO]
' Definizione elementi contenuti nella GroupBox
'@DEFLABEL VAR[Label] POS[1,1] DIM[1,18] ID["LB_TEXT"] FMT[TESTO[18]]
'@DEFEDIT VAR[VarText] ID["EDIT_VARTEXT"] RET[2,1] POS[1,1] DIM[1,27] FMT[TESTO] STILE["IMPORTANTE"]
'@DEFLABEL VAR["Campo numerico intero"] POS[1,1] DIM[1,21] ID["LB_INT"] FMT[TESTO]
'@DEFEDIT VAR[VarInt] ID["EDIT_VARINT"] RET[3,1] POS[1,1] DIM[1,15] FMT[NUMERICO[15]] HELP["Inserire un valore numerico"]
'@DEFLABEL VAR["Campo numerico decimali"] POS[1,1] DIM[1,23] ID["LB_DOUBLE"] FMT[TESTO]
'@DEFEDIT VAR[VarDouble] ID["RDIT_VARDOUBLE"] RET[4,1] POS[1,1] DIM[1,8] FMT[NUMERICO[7,2]]
'@DEFLABEL VAR["Campo data"] POS[1,1] DIM[1,10] ID["LB_DATE"] FMT[TESTO]
'@DEFEDIT VAR[VarDate] ID["EDIT_VARDATE"] RET[5,1] POS[1,1] DIM[1,10] FMT[DATA8]
' Fine elementi contenuti nella GroupBox
'@RUNVID
...
'@SRP Load()
'@DEFSTYLE STILE["IMPORTANTE"] _
GRASSETTO[1] _
COLORETESTO[ROSSO]
Return
...
'@SRP Exit()
'@EXITWINDOW
Return