Un lugar de encuentro para los programadores de habla hispana

Un lugar de encuentro para los programadores de habla hispana

Buscar

Entrar

Puedes acceder utilizando tu cuenta de usuario del foro.

Si no dispone de cuenta, puede crear una accediendo al formulario de registro del foro.



Obtener la posición del cursor en un TRichEdit o Tmemo Imprimir
Ideas - Delphi

Los controles TMemo y TRichEdit no disponen de propiedad ni método alguno que facilite la posición actual del cursor, por lo que es preciso usar algunos mensajes específicos de estos controles enviándolos mediante la función SendMessage. En el código siguiente, suponiendo que tenemos un control TRichEdit, un botón y tres controles Label en un formulario, puede ver cómo se obtiene la línea, su longitud y la posición en la línea.

 
procedure TForm1.Button1Click(Sender: TObject);
var
  lpos,cpos,LineLenght:integer;
begin
  Lpos:=SendMessage(RichEdit1.handle, EM_LINEFROMCHAR, RichEdit1.Selstart, 0);
  CPos:= SendMessage(RichEdit1.handle, EM_LINEINDEX, lpOS, 0);
  LineLenght:=SendMessage(RichEdit1.HANDLE, em_linelength, CPos, 0);
  CPos:=RichEdit1.Selstart-CPos;
 
  label1.caption:=IntToStr(Lpos);
  label2.caption:=IntToStr(LineLenght);
  Label3.caption:=IntToStr(Cpos);
end;
 
 
Comentarios (0)
Para escribir un comentario debes estar registrado