bustio,
Cita:
Empezado por bustio
Necesito saber en que posicion FILA, COLUMNA se encuentra el cursos de edicion dentro de un MEMO...
|
Revisa este código:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
Memo1: TMemo;
StatusBar1: TStatusBar;
procedure MemoCursorPosition;
procedure MemoChange(Sender: TObject);
procedure MemoClick(Sender: TObject);
procedure MemoEnter(Sender: TObject);
procedure MemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure MemoKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MemoCursorPosition;
begin
StatusBar1.Panels[0].Text := IntToStr(Memo1.CaretPos.Y+1);
StatusBar1.Panels[1].Text := IntToStr(Memo1.CaretPos.X+1);
end;
procedure TForm1.MemoChange(Sender: TObject);
begin
MemoCursorPosition;
end;
procedure TForm1.MemoClick(Sender: TObject);
begin
MemoCursorPosition;
end;
procedure TForm1.MemoEnter(Sender: TObject);
begin
MemoCursorPosition;
end;
procedure TForm1.MemoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
MemoCursorPosition;
end;
procedure TForm1.MemoKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
MemoCursorPosition;
end;
end.
El código anterior permite
Determinar la Posición del Cursor (Fila y Columna) en un Control TMemo por medio del Método CaretPos, el cual es implementado en los eventos
OnChange, OnClick, OnEnter, OnKeyDown y OnKeyPress del citado control para capturar el movimiento del cursor de forma análoga al editor de Delphi.
Quizás este código sea aplicable al control
SynEdit por medio de
SynEdit.CaretY (Fila) y
SynEdit.CaretX (Columna).
El ejemplo esta disponible en el link:
http://terawiki.clubdelphi.com/Delph...orPosition.rar
Espero sea útil
Nelson.