Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Textdatei in Stringgrid (https://www.delphipraxis.net/96551-textdatei-stringgrid.html)

Lannes 28. Jul 2007 21:43

Re: Textdatei in Stringgrid
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

im DF gab es vor kurzen auch eine Nachfrage nach so einer Komponente:
[VCL Win32] Textdarstellungskompo. mit verschiebbaren, vertikalen Linien

onkelmehli 30. Jul 2007 11:01

Re: Textdatei in Stringgrid
 
Hallo Lannes,

danke, das ist schon fast genau das was ich suche.

Du schreibst dort:
Zitat:

Der Democode ist aber nur geignet wenn die komplette Textbreite sichtbar ist. Um das ganze Scrollfähig zu gestalten ist noch so einiges daran zu ändern.
was ist denn daran genau zu ändern ?

Gruß

Matthias

Lannes 30. Jul 2007 23:16

Re: Textdatei in Stringgrid
 
Hallo,

was da genau zu ändern ist kann ich nicht hier auflisten, denn das Demo wurde nicht aus einem fertigen Projekt extrahiert. Es war dazu gedacht einen Ansatz aufzuzeigen.

Aber mal so im Groben:
Ich habe das StringGrid gewählt damit es direkt zur Vorschau, der durch den Anwender gewählten Trennung, dienen kann.
Das DemoGrid besteht nur aus einer Spalte.

Hat man nun Text der breiter als diese eine Spalte ist, muß man ihn über mehrere Spalten ausgeben, um scrollen zu können. Das StringGrid kann leider nur spaltenweise scrollen. --> Änderung 1, und nicht so einfach wie man zuerst denkt, den die Textausgabe beginnt im negativen Bereich und muss für jede Zelle in der Zeile ausgeführt werden, sobald eine Zelle neu gezeichnet werden muss/wird.

Bei Mausklick wird der Abstand zum linken Rand gespeichert und ein Trennpfeil an der Stelle gezeichnet. Scrollt man nun, muss der nach links verschobene Bereich in den zu speichernden Abstand mit eingerechnenet werden, aber nicht bei der grafischen Ausgabe des Trennpfeils, denn die bezieht sich auf den Rand des StringGrids.
--> Änderung 2

Bei Mausklick auf einen vorhandenen Trennpfeil, der Mauscklick löst ein Neuzeichen der Zelle aus, wird dieser Pfeil entfernt(besser gesagt, nicht neu gezeichnet) und an der Stelle das 1-pixelbreite Panel eingeblendet, damit man die Trennung per Maus optisch verschieben oder entfernen kann(aus dem Grid rausziehen). --> Änderung 3, denn auch hierbei Berücksichtigung der aus dem Blickfeld gescrollten Spalte(n) bei der Berechnung der Abstände/Koordinaten.

Dann fehlt noch die eigentliche Trennung des Textes und die Übergabe an das Zielgrid.

Das sind so die wesentlichen Änderungen die mir einfallen, aber wie das immer so ist,
so manche Änderung erzeugt neuen Änderungsbedarf. :roll:

Eventuell lohnt es sich auch mal über eine Realisierung mittels PaintBox und Scrollbox nachzudenken.

Ich hoffe den Aufwand annähernd richtig beschreiben zu haben und es einigermaßen verständlich ist. :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Seite 2 von 2     12   

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