Ma tu intendi la normale finestra a cascata della lista degli elementi quando clicchi sul ComboBox ? ???
Io riesco a mostrare ogni elemento scelto della lista...
La Documentazione (tasto F1) riporta il termine Popup fra i metodi. Nessun'altra spiegazione
Ma che significa? :rolleyes:
Riguardo al metodo "Popup" proverei questo simpatico esempio (inserire sul form un ComboBox con alcuni elementi nella propria lista, ed un Button):
Public Sub Button1_Click()
ComboBox1.Popup
End
cliccare quindi su Button1 per... vedere l'effetto che fa.
...anche se non mi sembra la via più pratica da percorrere, ho inserito la riga che mi hai proposto.
...mi era sembrato di capire che ponevi l'accento anche sul metodo Popup. :-\
Ad ogni modo ho provato una situazione di questo genere:
Public Sub Button1_Click() ' cliccando sul Button...
'...faccio aprire - come prima- la finestra a cascata:
ComboBox1.Popup
End
' manovro con le freccette ↑↓ sulla tastiera
' e scelgo quale elemento della lista scegliere.
'Quindi premo Invio sulla tastiera:
Public Sub ComboBox1_Change()
Print ComboBox1.Text
End
...coerentemente ottengo in console la scritta presente nell'elemento della lista prima scelto; e nel ComboBox l'elemento (Item) appunto prescelto.
...direi che G3 contiene un'anomalia.
A me... funziona :-\
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 malfunzionamento
Tu 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. :hatecomputer:
:ciao:
Ho risolto. Anche dopo la 2^ compilazione ed instalòlazione di G3, si è ripresentato il problema; si trattava di un falso malfunzionamento che, non so per quale motivo, in G2 non si manifestava. Cliccando o premendo il tasto "INVIO" su una riga selezionata all'interno della finestra di popup, il programma eseguiva sempre il caricamento della ComboBox.List e pertanto alla fine del caricamento puntava sempre sulla prima riga della lista. Ho semplicemente aggiunto un controllo sulla proprietà index:
i = VoContMoDig.Index
If i <= 0 Then
CaricaVoContMoDig() 'routine dicaricamento della VoContMoDig.list conle voci contabili relative al movimento in trattamento
Endif
;D :ciao: