PDA

View Full Version : [vb6] Domanda niubbissima


Snivel
03-12-2007, 23:28
spero possiate dare soluzione al mio dilemma:

come posso fare per far scorrere automaticamente la scrollbar di una ListBox all'aggiunta di un nuovo Item??

vi prego sto impazzendo!!!:muro: :muro: :muro:

banryu79
04-12-2007, 10:50
... lo faccio io anche se non so nulla di VB6 e relativo ambiente :D

Esamina la documentazione relativa all'oggetto ListBox, probabilmente esisteranno dei metodi per chiedere quanti item sono presenti, e forse, visto che è "scrollable" anche per scrollare ad un Item specifico.

Se così fosse:

a) inserisci il nuovo Item;
b) chiedi quanti Item ci sono;
c) a quel punto scrolli a quell'Item.


@EDIT:
a volte una semplice ricerca su Google fornisce ottime risposte per questo tipo di quesiti:
-> Link MSDN (http://msdn2.microsoft.com/it-it/library/cxh2w9wf(VS.80).aspx)

...
Proprietà TopIndex

In Visual Basic 6.0 si utilizza la proprietà TopIndex per restituire o impostare un valore che specifica quale elemento di un controllo ComboBox o ListBox venga visualizzato nella posizione di livello superiore. Questa proprietà viene comunemente utilizzata per scorrere l'elenco senza selezionare alcun elemento.
...

salvuccio
04-12-2007, 11:28
Prova con il metodo Ensurevisible dell'oggetto listbox.

Snivel
05-12-2007, 19:30
grazie per l'aiuto a chi ha risposto

vorrei utilizzare la Proprieta TopIndex

sull'msdn ho letto che e' possibile utilizzarla insime all'evento Scroll sempre della ListBox

potete farmi un piccolissimo esempio di utilizzo se e' possibile??

ringrazio anticipatamente!!!

okay
05-12-2007, 21:40
grazie per l'aiuto a chi ha risposto

vorrei utilizzare la Proprieta TopIndex

sull'msdn ho letto che e' possibile utilizzarla insime all'evento Scroll sempre della ListBox

potete farmi un piccolissimo esempio di utilizzo se e' possibile??

ringrazio anticipatamente!!!

se clicchi sul controllo listbox vai nella proprietà List1_Scroll() questo è ciò che ti serve insieme a topindex.

oppure accanto alla listbox metti un controllo srollbar verticale e/o orizzontale.

con google troverai molto esempi


ciao

Snivel
05-12-2007, 22:12
e' tutto chiaro

ma nn so che valore dare alla proprieta topindex

mi spiego: in un evento al controllo listbox vengono aggiunti item automaticamente, io desidererei che nel listbox si rendesse visibile sempre l'ultimo item aggiunto

pero nn so come fare davvero...

banryu79
06-12-2007, 11:50
Se tu potessi conoscere l'indice dell'ultimo Item inserito non ci sarebbero problemi :)

Se non ho capito male puoi settare TopIndex al valore che vuoi: questo indice a cui lo setti corrisponderebbe al primo elemento visualizzato nella List.

Se tu sai:

a) quanti ce ne sono (indice dell'ultimo elemento inserito);
b) quanti possono essere visualizzati contemporaneamente;

sei a posto perchè ti basterebbe, fare una cosa del tipo:

TopIndex = indiceUltimoElemento - (elementiVisualizzabiliContemporaneamente - 1);


Almeno a logica :)