Como identificar a linha atual de um Memo?
Olá pessoal!
Gostaria de saber como identificar em que linha se localiza o ** rsor em um componente Memo.
GRato.
wbb
Gostaria de saber como identificar em que linha se localiza o ** rsor em um componente Memo.
GRato.
wbb
Wbb
Curtidas 0
Respostas
Fabio.hc
04/02/2004
Pode ser o RichEdit !
Tente assim:
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.GOSTEI 0
Wbb
04/02/2004
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
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
GOSTEI 0
Wmcaetani
04/02/2004
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
GOSTEI 0