Ver Mensaje Individual
  #5  
Antiguo 28-01-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
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
    { Private declarations }
  public
    { Public declarations }
  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.

Última edición por nlsgarcia fecha: 28-01-2013 a las 17:19:57.
Responder Con Cita