AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Icon in ein Stringgrid zeichnen

Ein Thema von BBoy · begonnen am 18. Apr 2013 · letzter Beitrag vom 19. Apr 2013
Antwort Antwort
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Icon in ein Stringgrid zeichnen

  Alt 18. Apr 2013, 19:13
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?
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Icon in ein Stringgrid zeichnen

  Alt 18. Apr 2013, 19:50
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:
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 = 'BILDTHEN
      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;
Was ist eigentlich ein DBStringGrid? Ich verwende hier TjvDBGrid aus den Jedi-Komponenten ...
Miniaturansicht angehängter Grafiken
dbgridicons.jpg  

Geändert von Perlsau (18. Apr 2013 um 19:53 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Icon in ein Stringgrid zeichnen

  Alt 19. Apr 2013, 09:52
ok danke. Dann liegt das wohl am Raize DB Grid Dort wird onDrawColumnCell nur ausgelöst wenn DefaultDrawing=false ist. Werde nun TcyDBAdvGrid nutzen.

Geändert von BBoy (19. Apr 2013 um 10:43 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Icon in ein Stringgrid zeichnen

  Alt 19. Apr 2013, 10:00
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.
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Icon in ein Stringgrid zeichnen

  Alt 19. Apr 2013, 11:12
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.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: Icon in ein Stringgrid zeichnen

  Alt 19. Apr 2013, 11:14
Dann ist ja alles bestens

Hauptsache es funktioniert ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz