...weitere Vorteile von Properties: Wenn man später merkt, daß der Bezeichner doch eher nur gelesen werden werden darf,
Das habe ich auch schon gebraucht, wen etwas ReadOnly sein soll.
...weitere Vorteile von Properties: Wenn man später merkt, daß der Bezeichner doch eher nur gelesen werden werden darf,
Mathias hat geschrieben:Wer hat eine gute Idee, was am besten ist ?
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
1. Möglichkeit: Packe eine Scrollbar neben das Panel. Das Panel bleibt unberührt in seiner Form. Scrolle nur das Offset deiner Liste und zeige die x Einträge an.
Beim Einlesen der ColorStringListe ins Memo würde ich alle Zeilen durchlaufen und für den Canvas des Memo und den entsprechenden Font die längste Zeile ermitteln,
Führe ein Variable TopLine ein. Die Ausgabe beginnt erst bei diesem ZeilenIndex und endet, wenn die Zahl der sichtbaren Zeilen überschritten wird. Das heißt, du musst dir während Paint die vertikale Pixelposition merken und mit der Ausgabe enden, wenn der untere Rand des sichtbaren Bereichs unterschritten wird.
Mathias hat geschrieben:Beim Einlesen der ColorStringListe ins Memo würde ich alle Zeilen durchlaufen und für den Canvas des Memo und den entsprechenden Font die längste Zeile ermitteln,
An das habe ich auch schon gedacht, nur wen ich aber genau diese Zeile lösche, dann stimmt die Länge nicht mehr.
Oder du protokollierst den Index der längsten Zeile und führst diese Neuberechnung nur dann aus, wenn die Änderung die längste Zeile betrifft, und auch nur dann, wenn diese kürzer wird
Mathias hat geschrieben:Im Anhang habe ich die Vertikale schon recht gut hin gekriegt. Oder hättet ihr das anders gelöst ?
wp_xyz hat geschrieben:Mathias hat geschrieben:Im Anhang habe ich die Vertikale schon recht gut hin gekriegt. Oder hättet ihr das anders gelöst ?
Ja. In deiner Paint-Methode gibst du ALLE Strings aus, wobei bei einer großen Datei die meisten nicht sichtbar sind. Das dauert. Lasse die i-Schleife nur zwischen der ersten und letzten sichtbaren Zeile laufen.