AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeigerposition in Synedit herausfinden

Ein Thema von lorenz · begonnen am 19. Feb 2004 · letzter Beitrag vom 8. Jun 2004
Antwort Antwort
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#1

Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 19:50
Hallo alle zusammen!

Ich würde gerne in der Statusleiste meines Fensters die Position des Zeigers anzeigen. (So wie in der Sourceansicht bei Delphi links unten.)

Ich müsste doch dazu im onChange-Ereignis des SynEdits das betreffende Panel der Statusleiste auf zeile: spalte setzen.

Mein Problem: Wie finde ich die aktuelle Position (Zeile/Spalte) heraus?

Man liest sich,

Lorenz
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 19:53
Hallo,
du kannst es ja mal folgend versuchen.

Delphi-Quellcode:
var
  CharPos: TPoint;
begin
  CharPos.Y := SendMessage(SynEdit1.Handle, EM_EXLINEFROMCHAR, 0,
    SynEdit1.SelStart);
  CharPos.X := (SynEdit1.SelStart -
    SendMessage(SynEdit1.Handle, EM_LINEINDEX, CharPos.Y, 0));
  Inc(CharPos.Y);
  Inc(CharPos.X);
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 19:56
bei uses muss glaub ich noch RichEdit hinzugefügt werden

Delphi-Quellcode:
uses
  RichEdit,
  Mit Zitat antworten Zitat
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#4

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 20:05
Hallo,

erstmal danke für die Antwort.

Aber leider:

- Die Werte stimmen nicht wirklich

- Ich glaube, das dauert zu lange bei jedem Tastenanschlag.

Sowas wie SynEdit.'Zeilennummer' und SynEdit.'Spaltennummer' gibt es ja wahrscheinlich nicht. (D. h. ich hab's evtl. noch nicht gefunden.)

Man liest sich,

Lorenz
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#5

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 20:07
Hi,

du musst einfach SynEdit.CaretX und SynEdit.CaretY auslesen
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 20:09
ups.. Welche Werte stimmen denn nicht ?
  Mit Zitat antworten Zitat
lorenz

Registriert seit: 7. Nov 2003
86 Beiträge
 
Delphi 7 Personal
 
#7

Re: Zeigerposition in Synedit herausfinden

  Alt 19. Feb 2004, 20:11
Hallo,

@Benedikt: {Vielen Dank! Jetzt hat es funktioniert!

Ich wollte dasselbe vorher schon probieren, weil ich's wo gelesen habe, aber da wurden im AutoComplete von Delphi die Caret... Einträge nicht angezeigt

Jetzt funktioniert's auf jeden Fall und das ist die Hauptsache.}

@markus k.: {Irgendwie beide...}

MfG

Lorenz
  Mit Zitat antworten Zitat
schan

Registriert seit: 3. Jun 2004
15 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Zeigerposition in Synedit herausfinden

  Alt 8. Jun 2004, 13:19
ihc wollt aml fragen welches ereignis ich denn nhemen muss
bei onchange macht er die position ja nur neu, wenn cih was schreibe
wenn ich dann aber im text hin und her klicke oder so, dann macht er ja nichts
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#9

Re: Zeigerposition in Synedit herausfinden

  Alt 8. Jun 2004, 16:57
Hi,

das Ganze machst du am besten im OnStatusChange des SynEdits:

Delphi-Quellcode:
procedure TForm1.SynEdit1StatusChange(Sender: TObject; Changes: TSynStatusChanges);
begin
   //Überprüfung oder das Caret wirklich geändert wurde.
   if (Changes*[scAll, scCaretX, scCaretY]<>[]) then
   begin
      //Schreibe CaretX und CaretY sonstwo hin
   end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:20 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