![]() |
Icon in ein Stringgrid zeichnen
Mein DBStringGrid hat Rowselect und Multiselect an.
Ich muss in bestimmte felder Icons zeichnen, dass funktioniert auch. Aber leider muss ich dafür defaultdrawing auf false setzen und somit sind die ganzen Einstellungen (farben, selector usw) weg. Daher meine Frage, gibt es keine andere Möglichkeit icons einzuzeichnen ohne defaultdrawing zu daktivieren? Und falls nicht, wie bekomme ich das dann mit dem selektbalken und dem multiselekt wieder hin? |
AW: Icon in ein Stringgrid zeichnen
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir steht DefaultDrawing auf TRUE, während ich in DrawColumnCell das Icon anzeigen lasse. Dieses befindet sich im Feld BILD der Tabelle Einsatz; letztere "füttert" das DBGrid mit Daten.
Delphi-Quellcode:
Was ist eigentlich ein DBStringGrid? Ich verwende hier TjvDBGrid aus den Jedi-Komponenten ...
procedure TFormMain.DBGrid_EinsatzDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
VAR Bild : TDBImage; begin IF DatMod.Dsrc_Einsatz.DataSet.RecNo > 0 THEN BEGIN IF Column.FieldName = 'BILD' THEN BEGIN Bild := TDBImage.Create(FormMain); Bild.Visible := FALSE; Bild.Width := 250; Bild.Height := 250; Bild.Center := TRUE; Bild.Proportional := TRUE; Bild.Stretch := TRUE; Bild.DataSource := DatMod.Dsrc_Einsatz; Bild.DataField := 'BILD'; DBGrid_Einsatz.Canvas.FillRect(Rect); DBGrid_Einsatz.Canvas.StretchDraw(Rect, Bild.Picture.Bitmap); FreeAndNil(Bild); END; END; end; |
AW: Icon in ein Stringgrid zeichnen
ok danke. Dann liegt das wohl am Raize DB Grid :( Dort wird onDrawColumnCell nur ausgelöst wenn DefaultDrawing=false ist. Werde nun TcyDBAdvGrid nutzen.
|
AW: Icon in ein Stringgrid zeichnen
Nach deinem ersten Post dachte ich, es ginge um DefaultDrawing und nicht um OwnerDraw. Letztgenanntes Property kenne ich nicht.
Hast du es denn einmal ausprobiert? OnDrawCell muß immer ausgelöst werden, sobald eine Zelle gezeichnet wird. Wenn eine Komponente das nicht bietet, dann ist sie meiner Ansicht nach Müll. |
AW: Icon in ein Stringgrid zeichnen
Ownerdraw war ein schreibfehler )
Die Raize Komponenten nutze ich schon seit ewigkeiten und war bisher immer zufrieden damit. Aber es ist tatsächlich so, dass onDrawColumnCell nur ausgelöst wird wenn DefaultDrawing=false ist. Wie gesagt, ich nutze jetzt das TcyDBAdvGrid und damit funktioniert alles bestens. Muss nur noch schauen wie man die einzelnen Zeilen per Drag verschieben kann. Also Sozusagen die Reihenfolge ändert. |
AW: Icon in ein Stringgrid zeichnen
Dann ist ja alles bestens :-D
Hauptsache es funktioniert ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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