Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [SynEdit] Ist Zeile markiert? (https://www.delphipraxis.net/99824-%5Bsynedit%5D-ist-zeile-markiert.html)

calculon 18. Sep 2007 12:44


[SynEdit] Ist Zeile markiert?
 
Hi allerseits!

Ich würde gerne mit markierten Elementen in meinem SynEdit etwas machen. Nur weiß' ich nicht wie ich prüfen kann, ob die Zeile markiert ist:

Delphi-Quellcode:
for i := 0 to SynEdit.Lines.Count - 1 do
  if Synedit.Lines.Strings[i].isSelected then // <-- diese Funktion gibt es leider nicht
    ...
Weiß jemand wie ich das realisieren kann?

Gruß

Calculon
--

marabu 18. Sep 2007 18:58

Re: [SynEdit] Ist Zeile markiert?
 
Hallo,

markierte Zeilen musst du nicht unbedingt suchen, sie sind berechenbar:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  iFirst, iLast: Integer;
  bc: TBufferCoord;
begin
  with SynEdit do
    if SelAvail then
    begin
      bc := CharIndexToRowCol(SelStart);
      iFirst := bc.Line;
      bc := CharIndexToRowCol(Pred(SelStart + SelLength));
      iLast := bc.Line;
      ShowMessage(Format('first line selected: %d - last line: %d', [iFirst, iLast]));
    end else
      ShowMessage('Dies alles ist höchst wunderlich!');
end;
Grüße vom marabu

calculon 19. Sep 2007 11:49

Re: [SynEdit] Ist Zeile markiert?
 
Habe deinen Code übernommen und es funktioniert genau wie ich es wollte. Vielen Dank dafür!

Gruß

Calculon
--


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz