AGB  ·  Datenschutz  ·  Impressum  







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

TSynEdit Aktuelle Zeile Farbig

Ein Thema von Flom · begonnen am 19. Okt 2006 · letzter Beitrag vom 20. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#1

TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:16
Hallo,
Ich würde gerne mit einer TSynEdit die Aktuelle Zeile meines Editors anders Farbig darstellen... wie ist das möglich bzw. ist das überhaupt möglich?

Grüße Flom...
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:17
Jedes Synedit verfügt über die Eigenschaft ActiveLineColor.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#3

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:21
danke für die schnelle antwort...
und wie kann ich die aktuelle zeilen nummer angeben wo ich mich gerade befinde?
Ich kann nur die gesamt angabe über count machen sollte ja auch die aktuelle möglich seien oder?

Die nächste frage wo ich denken würde es geht mit lenght wäre dann mit der zeichen ausgabe wie viel zeichen gerade in der zeile sind... aber darann will ich selber erst mal wieder knabbern!
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#4

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:23
In CaretY steht die aktuelle Zeile, in der sich der Cursor befindet. Aber was hat das mit der farbigen Zeile zu tun? Setz einfach die Eigenschaft und dann ist die Zeile in der der Cursor steht automatisch eingefärbt.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#5

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:28
Nein ich habe in meinem Editor unten eine Taskleiste die zeigt wie bei Word die aktuelle Zeilen und später auch Zeichen anzahl als Zahlen dar... falls der User die Nummern rechts Ausgeschaltet hat weiß er dennoch in welcher Zeile er sich gerade befindet!
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#6

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:31
Dann erstell dafür doch nächstes Mal einen neuen Thread, hat doch nichts mehr mit dem Einfärben einer Zeile zu tun.

Außerdem würde ich dir empfehlen mal einfachen ein bisschen mit dem SynEdit rumzuspielen, die Property ActiveLineColor hättest du z.B. durch einen einfachen Blick in den Objektinspektor gefunden. Sonst guck dir mal die Beispiele an und versuche die Dinge nachzuvollziehen, dass meiste findet man auch alleine raus.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#7

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:36
das mit dem CaretY funkt nicht richtig wenn ich mit den Curser hoch gehe Passiert nichts erst wenn ich Enter drücke... sollt ich dafür dann Key Down und up... ?

und ja Balu ich werd demnächst dafür einen extra Thema auf machen dachte nur sonst sind alle gestresst weil ich so viel auf einmal frage und das mit der Aktiven Line hab ich wohl übersehen!
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#8

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 21:38
Zitat von Flom:
sollt ich dafür dann Key Down und up... ?
Zum Beispiel, wäre schonmal ein Anfang.

Btw, vielleicht kann ein freundlicher Moderator das Topic ja auch einfach splitten.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#9

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 22:07
Hallo nochmal...
Ich bekomms mit dem OnKeyDown nicht hin was mach ich falsch?
Delphi-Quellcode:
procedure TForm1.CodeChange(Sender: TObject);
var zeile:string;
begin
 zeile:='Zeile '+IntToStr(Code.CaretY); //liegt es vielleicht hier ran?

 Code.SetFocus;
 Code.ActiveLineColor:=$00E5E5E5;
 Code.OnKeyDown:=zeile; //ich kann hier ja nicht das Panel noch mal Aufrufen irgend eine andere lösung?
 Code.OnKeyUp:=zeile; //ich kann hier ja nicht das Panel noch mal Aufrufen irgend eine andere lösung?
 Statusbar1.Panels[1].Text:=zeile;
 Code.SetFocus;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: TSynEdit Aktuelle Zeile Farbig

  Alt 19. Okt 2006, 23:04
Ich versuche jetzt mal, deinen Code nachzuvollziehen:
Code ist also dein TSynEdit (nehme ich mal an), aber warum willst Du dem Ereignis OnKeyDown/OnKeyUp einen String zuweisen??? (zeile hast du ja als String definiert)
Was bitte soll das werden?

OnKeyDown/OnKeyUp sind Prozeduren, die ausgeführt werden, wenn der Benutzer eine Taste drückt bzw. loslässt.

Mal ne Frage:
Weißt Du was der Objektinspektor ist?

Wenn ja, dann verwende mal unter Ereignisse das Event OnKeyUp, dann sollte diese Prozedur erscheinen die Du mit deinem Code füllst, das sieht dann in etwa so aus:
Delphi-Quellcode:
procedure TForm1.CodeKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Statusbar1.Panels[1].Text:='Zeile '+IntToStr(Code.CaretY);
  //ActiveLineColor würde ich auch im ObjektInspektor setzen, im OnChange-Ereignis ist dies wohl äußerst ineffizient
  //auch die restlichen Befehle kannst du weglassen, SetFocus ergibt hier keinen Sinn
end;
OnChange wird nur ausgelöst, wenn ein Zeichen eingegeben wird, also ein Buchstabe oder Enter - wenn Du den Cursor bewegst gibst Du ja nix im SynEdit ein, also wird auch nicht das Ereignis OnChange ausgelöst.
Das Ereignis OnKeyDown/OnKeyUp wird dagegen bei jedem Tastendruck ausgelöst, also auch wenn z.B. die Pfeiltasten gedrückt werden.
Jetzt kann man die Zeile natürlich auch ändern, wenn man mit der Mouse an eine bestimmt Stelle klickt - dafür gibt es dann das Ereignis OnClick - dort schreibst Du dann am besten das gleiche rein, wie bei OnKeyUp.
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:33 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