Ĺadny brzuch
Co zrobić, aby wyświetlić tekst w którym wierszu i linijce się aktualnie znajduję w
komponencie SynEdit? Do Memo tworzyło się następującą procedurkę
do zdarzenia onkeyup:
procedure Tjakaś_forma.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var
T : TPoint;
begin
T:=Memo1.CaretPos;
Status.Panels[0].Text:=IntToStr(T.x)+':'+IntToStr(T.Y);
end;
W ten oto sposób na pasku stanu, gdy kursor znajdował się w pierwszej linii i wierszu,
widniał tekst: 0:0... Lecz mi chodzi o to, aby pojawił się txt: 1:1 :excl:
Nie mam synEdit ale spróbuj:
Pos.Y := SendMessage(SynEdit1.Handle, EM_EXLINEFROMCHAR, 0, RichEdit1.SelStart); Pos.X := (SynEdit1.SelStart - SendMessage(SynEdit1.Handle, EM_LINEINDEX, Pos.Y, 0)); Inc(Pos.X); Inc(Pos.Y); Label2.Caption:=(Format( '%d', [Pos.Y])); Label4.Caption:=(Format( '%d', [Pos.X]));
Możesz dać to przykładowo do Timera na Interval 30 itd.
Użytkownik tulio edytował ten post 11 lipiec 2005, 09:35
W ten oto sposób na pasku stanu, gdy kursor znajdował się w pierwszej linii i wierszu,
widniał tekst: 0:0... Lecz mi chodzi o to, aby pojawił się txt: 1:1 :excl:
Dzięki, właściwie nie wiem czy zadziała, bo nie jestem teraz w domu gdzie mam zainstalowane Delphi, ale... powinno działać :blink: W każdym razie dzieki za odpowiedz B)
hm... klasa TSynEdit na takie własności jak .CaretX i .CaretY
with SynEdit do StatusBar.Panels[0].Text := Format('%d : %d', [CaretY, CaretX]);
Przynajmniej ja tak robiłem, :) nie ma sensu bawić sie z TPointami
Pozdr
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
komponencie SynEdit? Do Memo tworzyło się następującą procedurkę
do zdarzenia onkeyup:
procedure Tjakaś_forma.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var
T : TPoint;
begin
T:=Memo1.CaretPos;
Status.Panels[0].Text:=IntToStr(T.x)+':'+IntToStr(T.Y);
end;
W ten oto sposób na pasku stanu, gdy kursor znajdował się w pierwszej linii i wierszu,
widniał tekst: 0:0... Lecz mi chodzi o to, aby pojawił się txt: 1:1 :excl:
Nie mam synEdit ale spróbuj:
Pos.Y := SendMessage(SynEdit1.Handle, EM_EXLINEFROMCHAR, 0, RichEdit1.SelStart); Pos.X := (SynEdit1.SelStart - SendMessage(SynEdit1.Handle, EM_LINEINDEX, Pos.Y, 0)); Inc(Pos.X); Inc(Pos.Y); Label2.Caption:=(Format( '%d', [Pos.Y])); Label4.Caption:=(Format( '%d', [Pos.X]));
Możesz dać to przykładowo do Timera na Interval 30 itd.
Użytkownik tulio edytował ten post 11 lipiec 2005, 09:35
W ten oto sposób na pasku stanu, gdy kursor znajdował się w pierwszej linii i wierszu,
widniał tekst: 0:0... Lecz mi chodzi o to, aby pojawił się txt: 1:1 :excl:
Dzięki, właściwie nie wiem czy zadziała, bo nie jestem teraz w domu gdzie mam zainstalowane Delphi, ale... powinno działać :blink: W każdym razie dzieki za odpowiedz B)
hm... klasa TSynEdit na takie własności jak .CaretX i .CaretY
with SynEdit do StatusBar.Panels[0].Text := Format('%d : %d', [CaretY, CaretX]);
Przynajmniej ja tak robiłem, :) nie ma sensu bawić sie z TPointami
Pozdr