PDA

Ver la Versión Completa : Cambiar fuente de RichEdit, pero utilizando el Handle!


JuanErasmo
27-05-2007, 20:33:17
Hola amigos,
la idea es la siguiente,
Estoy desarrollando un Chat , entonces, quiero que cuando se le cambie la fuente en el cliente, el servidor se escriba igual, tal como lo hace yahoo o msn,.
Como el tipo TFONT, tiene muchos parametros, (Color, name, size, etc..),
entonces, hice una prueba trasmitiendo esto : RichEdit1->Font->Handle = RichEdit2->Font->Handle; // Asi funciona muy bien y cambia la fuente pero....

//Es decir,



RichEdit1->Font->Handle = Socket->ReadString() ; // AnisString....???, de esta manera funciona perfecto,

pero cuando leo el socket, e intento asignar un AnsiString a RichEdit2->Font->Handle, obtengo un error de que no se puede convertir ansiString a void,,,,como es el cast correcto para asignar un AnsiString o un int a un hanlde?

Muchas Gracias amigos, si hay otra idea de como hacerlo, bienvenida sea!!

Lepe
28-05-2007, 09:06:03
Quizás la mejor forma sea codificar la fuente y enviarla como un string. Hay muchas rutinas por internet que lo hacen, por ejemplo, codificas la fuente como:


Arial Black;12;NSC;FFF12FF

donde:
12 es el tamaño
NSC es negrita, subrayado y cursiva
el resto es el color del texto.

Al recibir ese string lo decodificas y lo asignas a la fuente de tu richedit.

El Handle es un número asociado a un recurso en el ordenador actual, no se puede enviar por la red y esperar que funcione en el ordenador de destino.

Saludos

JuanErasmo
28-05-2007, 16:28:03
Muchas gracias!
si, tienes toda la razon, pensandolo bien el handle, solo lo reconoce la maquina local.
lo voy a hacer asi como me dices!
Gracias!