![]() |
Thumbnail und Text darstellen
Hallo alle zusammen,
ich habe ein Programm, mit dem man Medien (Bücher etc.) verwalten kann. Diese Informationen speichere ich in einer Datenbank und lasse sie mir in einer DBGrid ausgeben. Zu jedem Datensatz gibt es auch ein Bild, welcher im Programmordner abgelegt ist. In der Datenbank steht nur der Pfad zum Bild. Jetzt suche ich eine Komponente, mit der ich relativ einfach und ohne "viel Handarbeit" die Datensätze so anzeigen kann, dass in einer Spalte das Bild als Thumbnail und daneben die Medienbeschreibung angezeigt wird. Also in etwa so:
Delphi-Quellcode:
Ich hoffe, so ist deutlich geworden was ich möchte?!
+-------------+------------------------------------------------+
- - [b]Buchtitel[/b] - - B I L D - Autor und Verlag - - - Standort und Sprache - - - - - - Kurzbeschreibung des Mediums - - - - +-------------+------------------------------------------------+ - - - - - nächster Datensatz - - - - +-------------+------------------------------------------------+ Hat da jemand einen Tipp, welche Kompontente ich verwenden könnte bzw. wie man so etwas umsetzen sollte?! Danke schonmal vorab! Gruß NetSonic |
Re: Thumbnail und Text darstellen
Entweder Ownerdraw im Grid für die Spalte mit dem Bild oder schau dir mal TDBGridCtrl auf dem Reiter Datensteuerung an.
|
Re: Thumbnail und Text darstellen
That's it! :thumb:
Mit TDBCtrlGrid kann ich genau das machen! Cool. Hab mich immer schon gefragt, für was die da ist... :gruebel: Jetzt weiß ich es. Nur wie kann ich jetzt noch das Bild laden, welches ja nicht in der DB liegt. Hab ja nur die Pfadangabe... Hab's schon gefunden. Im OnPaintPanel hab ich das untergebracht und es läuft super! :?: Jetzt muss ich nur noch wissen, wie ich dem CtrlGrid beibringe, beim Drehen des Mausrades zu scrollen?!?! Gibt es da einen Trick? Ja, den gibt es... hab auch das selber hinbekommen:
Delphi-Quellcode:
Alles schön!
procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
begin if Msg.message = WM_MOUSEWHEEL then begin if Screen.ActiveControl is TDBCtrlGrid then begin Msg.message := WM_KEYDOWN; Msg.lParam := 0; if Msg.wParam > 0 then Msg.wParam := VK_UP else Msg.wParam := VK_DOWN; Handled := False; end; end; end; |
Re: Thumbnail und Text darstellen
Jetzt muss ich doch nochmal etwas nachfragen, da ich keine Lösung gefunden habe:
Ich möchte, wenn ich auf einer TDBCtrlGrid mit einem Rechtsklick ein Popup-Menü öffne, dafür sorgen, dass mir auch der entsprechende Eintrag im Grid unter dem Mauszeiger markiert wird. So wie es auch bei der DBGrid geht. Derzeit bleibt er einfach beim letzten Eintrag, den ich mit einem Linksklick ausgewählt habe. Nur gibt es bei der TDBCtrlGrid so Sachen wie ScreenToCell etc. nicht! Wie muss ich vorgehen? Bin für jeden Tipp dankbar... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr. |
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