Fórum Como identificar a linha atual de um Memo? #211687

04/02/2004

0

Olá pessoal!

Gostaria de saber como identificar em que linha se localiza o ** rsor em um componente Memo.

GRato.
wbb


Wbb

Wbb

Responder

Posts

05/02/2004

Fabio.hc

Pode ser o RichEdit !


Tente assim:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    RichEdit1: TRichEdit;
    StatusBar1: TStatusBar;
    procedure RichEdit1SelectionChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses RichEdit;

{$R *.dfm}

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
var
  CharPos: TPoint;
begin
  CharPos.Y := SendMessage(RichEdit1.Handle, EM_EXLINEFROMCHAR, 0,    RichEdit1.SelStart);
  CharPos.X := (RichEdit1.SelStart -
    SendMessage(RichEdit1.Handle, EM_LINEINDEX, CharPos.Y, 0));
  Inc(CharPos.Y);
  Inc(CharPos.X);
  StatusBar1.Panels[0].Text := Format(´Line: ¬3d   Col: ¬3d´, [CharPos.Y, CharPos.X]);
end;

end.



Responder

Gostei + 0

05/02/2004

Wbb

Fala Fábio!
Obrigado pela dica mais uma vez. Apesar dela não me atender neste momento, entrará para meu arquivo de dicas úteis, pois realmente é muito boa.

Preciso mesmo que seja utilizado um TMemo. Se bem que vou tentar utilizar o RichEdit para ver se dá certo. Acho que sim...
Valeu!

T+
wbb


Responder

Gostei + 0

29/06/2004

Wmcaetani

Fala Fábio! Obrigado pela dica mais uma vez. Apesar dela não me atender neste momento, entrará para meu arquivo de dicas úteis, pois realmente é muito boa. Preciso mesmo que seja utilizado um TMemo. Se bem que vou tentar utilizar o RichEdit para ver se dá certo. Acho que sim... Valeu! T+ wbb


:) Se vc só precisa saber a posição em que esta o cursor tentar usar a função

[b:718c64225e]CaretPos[/b:718c64225e]
assim:
[b:718c64225e]Memo1.CarePos.X ou Y[/b:718c64225e]
ou
[b:718c64225e]var Y,X : integer;
Y := Memo1.CaretPos.x;
X := Memo1.CaretPos.x;
[/b:718c64225e]
:oops: Se não for isso me perdoe


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar