Gestione Bottoni
Finestre
Gestione tipica
Altro esempio da qualche sorgente SUB*.src:
Finestra
$APRES_CHOI Case REPONSE When GSTACRE : Gosub CREATE : #Créer When GSTAANU : Gosub ANNUL : #Supprimer When GSTAENR : Gosub MODIF : #Enregistrer When GSTARET : If REP="C" | REP="D" : Gosub CREATE Elsif REP="M" : Gosub MODIF Endif When Default Endcase Return
oppure
$APRES_CHOI
Case REPONSE
When GSTARET :
Case GREP
When "C", "D" : REPONSE = GSTACRE
When "M" : REPONSE = GSTAENR
Endcase
Endcase
#
Case REPONSE
...
$CHOIX Case REPONSE When GSTARET, GSTAOK : Gosub ENREG When GSTAEND, GSTAESC : FIN=1 Endcase Return
Dialog box
$AP_CHOIX Case REPONSE When GSTARET : Gosub VALID When GSTAEND, GSTAESC : Gosub CONFIRME When Default Endcase Return
Pulsanti standard
Talvolta ci sono dei problemi con l'attivazione/disattivazione dei pulsanti standard.
Con le istruzioni enable e disable seguite dal codice del pulsante possiamo gestire la cosa mano.
I codici sono memorizzati in alcune variabili globali.
Enable GSTACRE #abilito il pulsante Crea Disable GSTAENR #disabilito il pulsante Registra
Altro
vedi anche Aggiungere un bottone che apre un oggetto
Videate
Pulsante contestuale su riga di un riquadro
I pulsanti di riquadro possibili sono 20, la cui etichetta è contenuta nelle variabili globali GBOUT1, GBOUT2 ...GBOUT20
Per aggiungere un pulsante contestuale su riga di un riquadro:
- selezionare tra i campi della videata il campo numeratore di riga, spesso NBLIG
- impostare un'azione Bottone (dalla 2 in poi, la prima libera); l'azione può essere sia SPE che un'azione vera e propria
- validare la videata
- aprire il sorgente corrispondente: se è di tipo SPE troverai aggiunto un
Subprog B2_NBLIGdove scrivere il codice da eseguire alla selezione del menu appena creato
Disattivazione
Attivare l'evento di riga "Init Bottone" sempre sul campo numeratore di riga (NBLIG).
Dentro il Subprog IB_NBLIG che verrà creato nel sorgente azzerare la variabile corrispondente
Subprog IB_NBLIG Raz GBOUT2 #disattivo il pulsante 2 GBOUT3='bla bla' # attivo il pulsante 3 con eticheta 'bla bla' end