Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Esiste una textbox di un certo tipo?

Ciao,
sto provando a fare un client irc tanto per passarmi il tempo dato che la
programmazione e` il mio hobby e colgo l'occasione per impararmi bene il
protocollo irc ma ho un problema: come finestra dei canali ho messo una
semplice textbox (che cambiero` in richtextbox quando avra` il supporto
dei colori) ma ho questo problema: ogni volta che aggiungo testo alla
textbox ed e` gia` piena di testo (e quindi compare la barra di
scorrimento verticale) torna alla prima riga, nonostante io vorrei che
scendesse la barra di scorrimento...
Qualcuno puo` consigliarmi un controllo che faccia scendere la sua barra
di scorrimento all'aumentare del testo? 
Se no potrei provare ad "emulare" un CTRL+FINE attraverso le api ad ogni
aggiunta per farlo scendere ma sarebbe brutto da vedersi e se il buffer e`
lungo sarebbe anche molto scomodo...
Insomma, non sarebbe proprio una soluzione "elegante".
Ringrazio per l'attenzione,
     Gabriele Marrone
 
gmar...@freemail.it

Ciao, se ho ben capito vuoi che man mano che il testo aumenta il cursore
deve essere in fondo, in modo da visualizzare l'ultima parte inserita.
Puoi mettere nell'evento Change il seguente codice:
Private Sub Text1_Change()
Text1.SelStart = Len(Text1.Text)
End Sub
Bye
--
Tango
http://www.af.mil
ICQ: 35463931

 ha scritto


 Insomma, non sarebbe proprio una soluzione "elegante".
      Text1.SelLength = Len(Text1.Text)
      Call SendMessage(Text1.hwnd, EM_SCROLLCARET, &H0, &H0)

> [...]


 [...]

 Devo dichiararla?
La dichiarazione di SendMessage() e il valore di EM_SCROLLCARET
sono presenti nell'API Text Viewer.
La prima istruzione definisce la posizione del "caret" (cursore).
La chiamata successiva sposta la visualizzazione in prossimità
del caret.
Questo metodo dovrebbe evitarti il "flickering" quando il testo
diventa lungo. Non più di tanto, comunque.

 La prima istruzione definisce la posizione del "caret" (cursore).
hmmm (mugolio di sottomissione)
jimi sahib, perdona...
avevi scritto:
    Text1.SelLength = Len(Text1.Text)
length ? cosi' non definisci la lunghezza della selezione ?
(o il morbo di kreuzfeld sta punendo le mie empie fiorentine ?)


 Ora capisco come mai mIRC non usa controlli standard ;-)
esempi di chat con vb:
http://www.acky.net/
http://joseph.vr9.com/
il secondo dovrebbe averne con rtxtbox, multiuser ecc.

semplice textbox (che cambiero` in richtextbox quando avra` il supporto
Hai provato ad usare un altro controllo, ad esempio una listbox?
Settata come report, cosi' lavora praticamente come una tabella a cui
aggiungi le righe, puoi settare garantire la visibilità ad un
particolare item (proprieta' ensurevisibility), puoi eseguire
l'ordinamento, click del mouse, etc, etc.
Su qualche sito trovi anche controlli simili con la gestione dei
colori.
Bye

 (o il morbo di kreuzfeld sta punendo le mie empie fiorentine ?)
Infatti č cosě (mi riferisco alla selezione non al mucco pazzo).
La selezione sposta virtualmente il cursore, senza in effetti muoverlo.
SendMessage() fa il resto. Mi sembrava che con un testo relativamente
lungo si avesse meno flickering. Comunque, come dici tu, forse č meglio
bloccare anche l'update del controllo.
PS
W le fiorentine, siano empie oppure ampie.