Newsgroup: it.comp.lang.visual-basic
Titolo: ListBox quasi appisolato

Salve a tutti. Ho un piiiiiiiccoliiiiiissimo problemino.
In un mio progetto c'è un form che contiene un po' di frames che di 
volta in volta vengono resi visibili/invisibili per poter permettere 
all'utente di fare delle scelte.
Ho creato quindi un pulsante AVANTI e un pulsante INDIETRO, che servono 
a modificare dei valori e a tornare alle schermate precedenti in caso 
questo sia necessario.
Fin qui tutto ok.
Quando però torno ad un certo frame (ma solo a quello) mi sono accorto 
che per fare una scelta su un ListBox figlio di quel frame, devo fare 
due click: il primo per attivare il frame e il secondo per scegliere la 
riga che mi interessa. E la cosa è strana, dato che il listbox non lo 
disabilito e che la cosa nn accade con altri listbox presenti in altri 
frame.
Giusto per prova ho anche fatto un bel setfocus al listbox incriminato, 
nel caso sia lui quello a dover essere RIVISUALIZZATO e con il debug ho 
visto che effettivamente il focus viene attivato... solo che comunque 
c'è bisogno di un click per "svegliarlo" e del successivo per poter fare 
la scelta.
Che significa?
Thx!!!
-- 
Nella vita una sola cosa è certa: se la storia ci ha insegnato qualcosa, 
è che si può uccidere chiunque. (Micheal Corleone)
Posted from X-Privat Free NNTP server - 
www.x-privat.org

 ha scritto nel
messaggio news:3fcc51f6$1...@x-privat.org...


 Andrea


Giusto per pignoleria ripeto che semplicemente una volta che la listbox 
è visibile perchè il suo frame è stato visualizzato, il primo click non 
fa niente, il secondo invece ha effetto.


Hai provato a vedere se è il frame è Disabled e magari per
qualche strana ragione su l'onclick del listbox fai frame.enabled=true?
Ciao
Andrea

 Andrea


 usato tipo staco
Scusa volevo dire "[...] da un vettore usato in modalità area di stack 
[...]"


Prova a postare del codice... cosě non mi viene in mente nulla
Andrea

Allora... ho risolto DICIAMO PER CASO.
Ho notato che quando andavo a settare in run time delle proprietà 
(Caption, Backcolor) a dei controlli utente da me creati, si verificava 
quel problema del click semi addormentato.
Tutto però scaturiva dal fatto che nelle sub Property Let dei miei 
controlli andavo a richiamare la procedura che ridisegnava i  controlli 
stessi (e questo è ovvio, dato che settando un diverso backcolor i 
controlli vanno ridisegnati).
Il problema allora sta nel fatto che la procedure di disegno usa anche 
la funzione di sistema SetCapture, che mi serve per controllare quando 
il puntatore del mouse abbandona l'area dell'usercontrol.
Questa benedetta chiamata alla funzione di sistema non cessa SOLO quando 
il mouse abbandona l'area dell'usercontrol, ma anche SE il mouse viene 
cliccato.
Risultato: MioControllo.Proprietà=Valore -> ...SetCapture... -> Mouse 
che invia tutti i suoi dati al mio controllo piuttosto che al form.
Quindi il codice che visualizzava il mio frame con la listview alla fine 
mi settava MioControllo.Enabled=False e da lì in poi gli eventi del 
mouse venivano spediti SOLO al mio controllo, quindi listview 
inutilizzabile fino al primo click... quando un ReleaseCapture non 
portava tutto alla normalità.
Scoperto ciò, ho sparato una bella pezza a colori (toppa, patch) al mio 
usercontrol e ora funzia tutto.
Grazie tantissime per l'aiuto!!!!!!
