Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeilennummerierung für ein RichEdit (https://www.delphipraxis.net/83064-zeilennummerierung-fuer-ein-richedit.html)

Nils_13 26. Dez 2006 19:18


Zeilennummerierung für ein RichEdit
 
Hi,

ich habe mir ein paar kleine Klassen geschrieben, welche ein Bild (TImage) neben einem RichEdit erstellen. In dieses Bild möchte ich dann die Zeilenangaben mit z.B. Textout reinzeichnen. Das Problem: Man kann scrollen (im RichEdit wird gescrollt, also müssen auch die Zeilenangaben mitgescrollt werden). Fällt euch da eine Lösung ein ? Ist es überhaupt mit dem Image möglich ?

Hinweis: Konnte die Suche nicht benutzen.

Skullschildi 26. Dez 2006 20:42

Re: Zeilennummerierung für ein RichEdit
 
du könntest das image beim scrollen um die zeilenhöhe im richedit nach oben/unten verschieben.

Nils_13 28. Dez 2006 07:43

Re: Zeilennummerierung für ein RichEdit
 
Hm, die Idee ist zwar recht gut, aber wenn man genauer nachdenkt, hilft das nicht mehr:
Wenn man eine neue Zeile beginnt (entweder Return oder vorherige Zeile voll), muss links beim Gutter (das Image) eine Zeile unten hinzugefügt werden. Entfernt man diese Zeile wieder, muss auch beim Gutter entsprechend entfernt werden, auch wenn man z.B. Zeile 5 von 10 entfernt (muss aufrücken).

Beispiel:
Erstellen von Zeilen
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 ijklmnopqrstuvwxyz <-- habe ich mich nicht verzählt, darf diese Zeile nur 18 Zeichen enthalten
Tippt man also z.B. a ein, muss eine neue Zeile hinzukommen
10 a


Entfernen von Zeilen
1 a
2 b
3 c
4 d
5 e <-- wird gelöscht
6 f
7 g
8 h
also muss daraus das werden:
1 a
2 b
3 c
4 d
5 f
6 g
7 h



Ich hoffe, ich konnte es damit ausführlich genug erklären :) Hoffentlich fällt euch jetzt etwas dazu ein.

marabu 28. Dez 2006 09:53

Re: Zeilennummerierung für ein RichEdit
 
Hallo Nils,

du kannst dir mit EM_GETFIRSTVISIBLELINE jederzeit die Zeilennummer der ersten sichtbaren Zeile besorgen. Die Zeilennummern würde ich aber nicht neben das RichEdit-Control schreiben, sondern hinein. Dazu kannst du mit EM_SETRECT den vom Control formatierten Bereich so festlegen, dass am linken Rand der Bereich für die Zeilennummern (gutter) entsteht.

Freundliche Grüße

Nils_13 5. Jan 2007 15:35

Re: Zeilennummerierung für ein RichEdit
 
Sry, dass ich den Beitrag erst vor kurzem entdeckt habe. Wie benutzt man EM_GETFIRSTVISIBLELINE ? Hatte damit noch nie etwas zu tun.

Alexander Roth 5. Jan 2007 16:07

Re: Zeilennummerierung für ein RichEdit
 
Es gibt doch bestimmt ein paar Komponenten für RichEdit mit Zeilennummern.
www.torry.net

turboPASCAL 5. Jan 2007 16:14

Re: Zeilennummerierung für ein RichEdit
 
Guck mal da *klick*, dort hab isch schon mal ein Memo mit Zeilennummern gemacht.
Das sollte sich leicht zu einem RichEdit "modden" ;) lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 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