Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a rieccomi!
Come posso fare se ad esempio volessi cambiare colore ad una determinata linea di un memo?
es: su 10 linee la numero 4 deve essere rossa mentre le restanti 6 devono essere nere.
grazie
Col Memo non si può. Devi usare TRichEdit:
trovi prima la posizione di partenza e la lunghezza della riga (attenzione, la posizione di partenza non è il numero della linea, ma la posizione del carattere con cui inizia la linea che ti interessa):
Grazie per la risposta gentilissimo come sempre. Credevo che fosse una cosa semplice e invece devo dire di essermi sbagliato, infatti dopo aver provato e riprovato per tutta la serata di ieri senza successo eccomi qui di nuovo nel forum.
Allora quello che sto facendo e' una chat multiutente dove tutto quello che viene scritto viene inviato dal server a tutti gli utenti connessi e riportato sulla lavagna in questo modo:
"SMANETTONE: ciao a tutti"
"Andrea: come va?"
"Luca: tutto bene grazie"
Ora io vorrei fare in modo che all'evento on change del richedit se sono io a scrivere il colore della line in questione diventi da nera a rossa, mentre il colore degli altri utenti rimane invariato. es:
"SMANETTONE: ciao a tutti" //colore rosso
"Andrea: come va?" //colore nero
"Luca: tutto bene grazie" //colore nero
"SMANETTONE: come procede?" //colore rosso
"Andrea: la solita"//colore nero
"Luca: oook" //colore nero
spero di essere stato abbastanza chiaro... come posso risolvere questo problema?
una domanda: la scritta rossa deve apparire per i mittenti (cioè tutti quelli che scrivono avranno nella loro RichEdit la linea di colore rosso) oppure solo la linea del TUO nome (come una sorta di amministratore o cose del genere)?
Beh comunque sia puoi fare questo:
Caso 1: Ogni mittente della chat deve vedere il suo messaggio in rosso nella SUA box In questo caso è semplice: se ricordo bene dall'utilizzo dei server/client, colui che invia in teoria non dovrebbe ricevere il suo messaggio. In tal caso basterebbe mettere nell'invio del messaggio:
Codice sorgente - presumibilmente Delphi
[...]
//INVIO DEL MESSAGGIO Msg
RichEdit1.SelStart:= RichEdit1.GetTextLen;
RichEdit1.SelAttributes.Color:= clRed;
RichEdit1.SelText:= ClientName+' scrive:'+Msg+#13#10//Msg è la variabile string contenente il messaggio. Importanti sono i caratteri #13#10 che evidenziano la fine della riga;
[...]
Caso 2: Il TUO messaggio nella box di TUTTI i client deve apparire in rosso Inserisci allora la condizione all'interno della ricezione del messaggio:
la scritta in rosso appare solo all'utente personale in questione....
in poche parole ogni utente che scrive vedra' sulla lavagna il proprio nome scritto in rosso e tutto il resto nero.