ListView oder ListBox ??? Wie kann ich so etwas darstellen ?



  • Hallo ich schreibe gerade eine Software jedoch habe ich keine idee wie ich so etwas darstellen könnte:
    http://www.profi-autosuche.de/images/Fahrzeuge1.jpg

    Also diese Liste in dieser Art und Form mit Bidlern, Text, Links etc.

    Hoffe ihr könnt mir wenigstens einen Denkansatz geben.



  • Hallo

    Auf jedenfall nicht so einfach mit den Standard-Komponenten. Egal welche Basis du nimmst, erfordert das einen hohen manuellen Anpassungsaufwand.
    Ich würde vermutlich für den einzelnen Eintrag eine neue Komponente von TControl oder TPanel ableiten und dann dynamisch in eine TScrollBox einfügen.

    bis bald
    akari



  • Du könntest Dir auch mal TDBCtrlGrid anschauen. Aber alle Wünsche kannst Du damit nicht abbilden.



  • mhh also habe leider immer noch keinen vernünftigen ansatz gefunden.
    Meine Idee wäre jede einzelne Tabelle als ein Objekt zu erzeugen.
    Do dass ich dann die Möglichkeit hätte X beliebige Instanzen davon zu bilden und untereinander zu reihen.
    Jedoch weiß ich nicht wie ich das so in dieser Art und Form zusammensetzen kann.
    Dafür muss es doch Komponenten geben die man zusammenführen kann.

    Würde mich freuen wenn jemand helfen könnte!



  • Sityle schrieb:

    Meine Idee wäre jede einzelne Tabelle als ein Objekt zu erzeugen.

    Wo sind denn einzelne Tabellen??
    Dein Lösungs-Ansatz ist vielleicht nicht ganz richtig.
    Betrachte das nur als jeweils einen Datensatz aus der Tabelle Fahrzeuge.

    Der Vorschlag von akari meint:
    Leite aus TPanel eine neue Komponente ab. Im Konstruktor dieses Panels werden die
    benötigten Komponenten erzeugt (s. Register Datensteuerung), die pro
    Datensatz benötigt werden. Das ist alles Schreibarbeit...

    Zur Laufzeit wird deine (abgeleitete) TPanel-Komponente entsprechend der
    Anzahl der Datensätze dynamisch erzeugt und in eine ScrollBox gelegt.

    @akari, sorry. Im Grunde nichts anderes als dein Posting 😉

    mfg
    kpeter



  • schau mal hier, ist aber nicht kostenlos

    ansonsten hast du eigentlich nur 2 Möglichkeiten:
    1. Komponente selbst programmieren
    2. das OnDrawCell-Ereignis des TStringGrid verwenden um alles selbst zu zeichnen, suche z.B. unter Google nach StringGrid +Bild, du bekommst mehrere Lösungen für Delphi und das kann man dann auch im BCB umsetzen



  • Danke, jetzt habe ich einen Ansatz ich werde versuchen mit Tstringgrid diese Tabelle zu zeichnen (hoffe die Performance wird dadurch nicht leiden)
    und dann in eine Scrollbox reinzulegen.
    Danke für eure Antworten.



  • Sityle schrieb:

    ich werde versuchen mit Tstringgrid diese Tabelle zu zeichnen

    Dann kannst Du doch wirklich ein TPanel nehmen, das kannst Du doch mit dem Form Designer zusammenbauen, ist viel schneller erstellt. Mußte halt für jedes Fahrzeug ein Exemplar des Panels erzeugen. Das sollte doch auch kein Ressourcenproblem darstellen.



  • Wie schon geschrieben, wäre ein TDBCtrlGrid bei Anbindung an eine Datenbank das beste.
    Für nicht-datensensitiven Zugriff habe ich davon eine eigene Komponente TCtrlGrid entwickelt: http://www.bitel.de/dghm1164/downloads/CtrlGrid.zip
    Einfach CtrlGrids.pas und CtrlGridsReg.pas als Komponente installieren und dann steht sie unter "Beispiele" zur Verfügung.
    Auf das Panel dann beliebige andere Controls plazieren (z.B. TImage, TButton, TLabel etc.) und zur Laufzeit dann mittels den entsprechenden Events füllen.
    Am besten, du schaust dir das Beispielprogramm im Unterordner 'CtrlGridTest' an...



  • So danke für eure Hilfe.
    Habe jetzt es genau wie beschrieben gelöst.
    heißt:

    Tpanel von Hand erzeugen wie man es halt haben möchte.
    Dann dieses panel nachbauen mittels Objekte zur Laufzeit erzeugen und dann auf dem Tpanel positionieren.
    Danach habe ich es einfach in eine Scrollbox gepackt und es funktioniert einwandfrei.
    Danke für eure Tipps.


Anmelden zum Antworten