Ver Mensaje Individual
  #2  
Antiguo 18-10-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 21
Chris Va por buen camino
Hola Lizeth!

Estás mesclando muchas ideas en tu mensaje, por lo que lo que realemente deseas queda confuso. Pero según entendí leyendo bien tu mensaje es agregar al cursor el texto que está en un ListBox manteniendo el formato del párrafo dónde valla a quedar insertado el nuevo texto.

Veo que tu código estás complicándote las cosa un poco. Hasta dónde recuerdo en mis trabajos con este componente, lo que deseas hacer es algo relativamente sencillo. Creo que bastaría con un código así:

Código Delphi [-]
procedure MiForma.ListaDblClick(Sender: TObject);
var 
    sValor: string;
begin
inherited;
    sValor := Lista.Selected.SubItems.Strings[0];
    with MiRichEdit do
    begin
        SelLength := 0; // si quieres reemplazar todo el texto
                        // seleccionado, quita esta línea del código.
        SelText :=  sValor;
    end;
end;

Como verás, las demás variables no son necesarias y mucho menos recordar la posición del cursor cuando el control pierde el foco. La propiedad SelText se encarga de todo lo que estabas intentando hacer y respetará el formato del párrafo. Vale mencionar que estabas perdiendo el formato porque lo que realmente hacías es eliminar todo el texto del RichEdit y reemplazándolo por un texto plano.

Saludos,
Chris.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita