Scusa vuott, ma io credo che non si debba cercare a tutti i costi far funzionare G3, mettendo
in secondo piano nel sottoscala la logica e l'efficacia del programma, programma che, fra l'altro è stato importato da G2, ambiente perfettamente funzionante sull'argomento di cui stiamo ragionando. Risolvere il problema si, ma senza scombinare l'attuale funzionamento del programma.
Allora, riprendo dalla proprietà
ReadOnly: Io l'ho dichiarata
TRUE, perchè non devo assolutamente consentire la digitazione di alcuno Voce; le voci sono già presenti nel DB e rispettano rigidissime regole di codici numerici ed agganci ad altre voci. Quindi, il mio concetto di base, relativamente alla ComboBox in cui ho il problema, è che l'utente finale non debba digitare alcuna voce, pertanto
ReadOnly=TRUE.
L'evento _Change a me non serve perchè non ho niente da gestire in quell'evento.
L'evento _Click esiste, ma mi serve solamente per valorizzare uno campo di tipo switch
Public Sub VoContMoDig_Click()
'-----------------------------
b_SwVoCoMoDig = False
End
Per la caratteristica dell'oggetto ComboBox (la finestra popup si apre cliccando sul pulsantinio posto all'estremità destra della casella), il metodo
Popup non necessita di essere richiamato dentro l'evento _Click.
L'evento Keypress esiste per permettere di utilizzare quasi costantemente la tastiera ed è così strutturato:
Public Sub VoContMoDig_KeyPress()
'-------------------------------------------------------------------------------------------------------------------------------------------------
If b_SwVoCoMoDig = False Then 'se focus riabilitato
QualeTasto = New CheTasto($StriMia) ' richiamo del modulo per limitare l'input ai soli dati numerici
Select Case QualeTasto.$Como
Case "Invio"
MovDigOk.setFocus
Case "Freccia-giù", "Pag-giù"
VoContMoDig.Popup 'apre la finestra di popup per la sceleta/selzione di una riga diversa da quella visibile nella .Text corrente
End Select
Endif
End
Solo dentro l'evento Keypress viene utilizzato il metodo popup, che altrimenti, non si manifesterebbe.
Detto questo torniamo al problema:
Una volta aperta la finestra di popup, sia che sia stata aperta dal click sul pulsantino a dx della casella, sia che sia stata aperta dal pressione del tasto "freccia-in-giù" o "pagina-giù", posso scorrerla in avanti o indietro, posso selezionare la voce che mi interessa ma non riesco a chiuderla con la pressione del tasto INVIO. Posso chiuderla solamente cliccando sulla casella ComboBox, però perdo la voce selezionata poco prima nella finestra popup e ritorna maldestramente visibile nella casella la prima voce della ComboBox.List.
Rispetto a G2 tale comportamento è assolutamente un malfunzionamentoTu però mi dici che hai provato e, contrariamente a quanto accade a me, a te funziona. Allora mi sorge il dubbio che che l'anomalia sia presente nella fase di
import da G2, per cui farò un prova pratica anch'io e ti saprò dire.