Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Aggiungere testo ad una richtextbox senza perdere la formattazzione ?

Allora, questo codice giustamente mi perde la formattazione ad ogni aggiunta
...
 txtOutput.TextRTF = txtOutput.Text & "PING" & vbCrLf
 txtOutput.Find "PING" & vbCrLf
 txtOutput.SelColor = vbGreen
 txtOutput.TextRTF = txtOutput.Text & "PONG" & vbCrLf
 txtOutput.Find "PONG" & vbCrLf
 txtOutput.SelColor = vbRed
ora esiste un modo per aggiungere del testo di una textbox ad una rtb senza
perderne la formattazione ?
una cosa tipo :
 txtOutput.TextRTF = txtOutput.TextRTF & "PING" & vbCrLf (Che ovviamente non
funziona perche' la stringa finale non e' in codice RTF !!! )
Insomma mi manca questa parte per il client Irc, sto pensando seriamente di
madare a cagare la RTB e cambiarla con una picture, avete altre idee ?
NB: non posso/voglio riprocessare tutto il testo ad ogni chiamata usando
selcolor, vorrei semplicemente mantenere la formattazione della RTB e
Aggiungere una maledetta riga !
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 della RTB e Aggiungere una maledetta riga !
infatti , tu vuoi fare una cosa che il controllo RTB fà di suo solo che non
lo sai
ghghghg
Piccolo esempio
Text1_Validate(Cancel as Boolean)
'Imposto la posizione di partenza del mio testo
'ovvero dove finisce il testo del RTB
Rtb.SelStart = Len(Rtb.Text)
'Si noti come uso la proprietà Text e non TextRTF
'Qui controlli i Tag all'interno del tuo Text1
'Io faccio solo un piccolo esempio
Select Case Left(Text2, 4)
    Case "/me "
        if len(text2)=4 then exit sub 'qui esco
        Rtb.SelColor = vbGreen
        'Se non si specifica la proprietà SelLength questa
        'verrà impostata per la lunghezza della string aggiunta
        Rtb.SelText = vbCrLf & Mid(Text2, 5, Len(Text2) - 4)
    Case Else
        Rtb.SelColor = vbBlack
        Rtb.SelText = vbCrLf & Text2
End Select
'Si Noti l'uso della proprietà SelText
'Se ommettevo il ritorno a capo ho un Colore diverso anche sulla stessa riga
;)
End Evento del Text1
Ciao
Alessandro
-- 
Morfeus

 'Si Noti l'uso della proprietà SelText
Ehm sò che non c'è bisogno di dirtelo ma sai le volte
tutte le proprietà SEL***** valgono quindi
        Rtb.SelBold
        Rtb.SelItalic
        Rtb.SelFontName
        Rtb.SelFontSize
        Rtb.SelAlignment
        Rtb.SelUnderline
penso che le troverai interessanti
Ciauz
Alessandro
-- 
Morfeus

 perderne la formattazione ?
[SNIP]
Come ti ha gia' detto Morfeus non hai bisogno di lavorare su TextRTF ma devi
semplicemente sfruttare SelText; il punto e' che se non specifichi nessun
SelStart/SelLenght specifico, ogni volta che imposti SelText la stringa
viene aggiunta in fondo e la selezione spostata... oltretutto in qualche
misura e' anche piu' performante perche' eviti di concatenare in
continuazione il testo esistente.
Riassumendo:
With RTF
    .Text = ""
    .SelText = "Normale" & vbCrLf
    'nota che anche qui, come nell'esempio di Morfeus,
    'le property .SelXXX vengono impostate *prima* del testo
    .SelBold = True
    .SelText = "Grassetto" & vbCrLf
    .SelBold = False
    .SelItalic = True
    .SelText = "Corsivo" & vbCrLf
    .SelItalic = False
    .SelFontName = "Arial"
    .SelColor = vbRed
    .SelText = "Arial rosso" & vbCrLf
End With
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 perche' eviti di concatenare in continuazione il testo esistente.
eh eh, bellissimo !
E' perfetto, infatti dopo un po concatenare le stringhe diventa pesante , e
questo mi risolve anche l'altro problema di svuotare ogni TOT la parte di
testo superiore dell'RTB ... perfetto ! Grazie Luca
... a si grazie anche a quell'altro... :p


 ... a si grazie anche a quell'altro... :p
già ma per l'ultima volta, in *due* post mi hai scansato due volte
:(
gratificante,quanti capiranno?
Ciao
Alessandro
-- 
Morfeus

 gratificante,quanti capiranno?
A morfe' dai si scherza ^_^
Non prendertela, i miei post sono sempre pieni di faccine e per il 90% con
tono scherzoso !
E' SOTTOINTESO CHE TI RINGRAZIO INFINITAMENTE PER I CONSIGLI ! Stavo solo
scherzando con un amico (TU) ^_-
Ok ti sei guadagnato un buono di 5 "/Kick Gigio2k" da usare come e quando
vorrai !


 rtb...
Quando dicevo "nessun SelStart/SelLenght" sottintendevo anche che non fosse
selezionata manualmente nessuna porzione di testo... d'altronde nel mio
esempio ll rtb veniva pulito prima di essere caricato.
Quello che volevo far notare e' che se fai, di seguito
.SelText="pippo"
.SelText="pluto"
il testo viene accodato, e non sostituito come potrebbe sembrare a prima
vista


> 
[CUT]
Regolare ma non ogni volta, come hai scritto prima.Ho solo precisato
quello che era giusto essere precisato nello specifico.
Ho riletto e mi sembra che c'era scritto proprio
ogni volta.
Ciao
Alessandro
-- 
Morfeus