Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Posición del cursor de texto (https://www.clubdelphi.com/foros/showthread.php?t=80795)

Wellnic 08-05-2007 23:20:58

Posición del cursor de texto
 
Esta es la única manera que encontré para saber en todo momento la posición del cursor en cualquier componente de edición de texto. En el ejemplo utilizo un Edit, pero vale para otros controles de texto (Memo, RichEdit...):

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval:= 1;
// (mejor poner este dato directamente en el Object Inspector)
end;

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);

 // (más efectivo que OnClick)
begin
Timer1Timer(Sender);//al hacer clic se puede escribir directamente la posición del cursor
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);

begin
Timer1.Enabled:= True;//se activa el temporizador...
//(se difiere porque la posición del cursor aún no está actualizada)
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:= IntToStr(Edit1.SelStart);//... en cuyo evento se escribe la posición correcta del cursor
Timer1.Enabled:= False;//y se desactiva para evitar actualizaciones innecesarias
end;


La franja horaria es GMT +2. Ahora son las 03:52:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi