AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Grid mit Bild in der Zeile
Thema durchsuchen
Ansicht
Themen-Optionen

Grid mit Bild in der Zeile

Ein Thema von Lill Jens · begonnen am 17. Okt 2007 · letzter Beitrag vom 17. Okt 2007
Antwort Antwort
Lill Jens

Registriert seit: 12. Dez 2006
Ort: Nbg
121 Beiträge
 
Delphi 2007 Architect
 
#1

Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 09:52
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Moin DP'ler!

Ist es möglich ein Bild in einer Grid Zeile anzuzeigen?

http://img147.imageshack.us/img147/6...enannt1yc9.jpg

Lill Jens
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#2

Re: Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 10:08
Ja ist es. überschreibe die DrawCell Methode und male bei Bedarf ein Bild aufs canvas in das in die Methode übergebene TRECT.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Lill Jens

Registriert seit: 12. Dez 2006
Ort: Nbg
121 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 10:14
Zitat von QuickAndDirty:
Ja ist es. überschreibe die DrawCell Methode und male bei Bedarf ein Bild aufs canvas in das in die Methode übergebene TRECT.
Wenn das funzt wär ja super allerdings hab ich noch nie eine Methode überschrieben?! weis net wie des geht?!
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 10:17
sicher, wie fast in jedem control per OwnerDraw (OnDrawCell in dem Fall), einfach mal danach suchen
musst dir nur überlegen, wie du das bild in der zelle hältst bzw. wenn damit nur ein status angezeigt wird, würde ich den status als integer-wert ins Object-Feld der Zelle hauen und im OnDrawCell diesen wert auwerten und entsprechend das bild malen/kopieren.

wozu überschreiben, es gibt doch ein event...

HTH Frank
  Mit Zitat antworten Zitat
Lill Jens

Registriert seit: 12. Dez 2006
Ort: Nbg
121 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 10:41
Zitat von _frank_:
sicher, wie fast in jedem control per OwnerDraw (OnDrawCell in dem Fall), einfach mal danach suchen
musst dir nur überlegen, wie du das bild in der zelle hältst bzw. wenn damit nur ein status angezeigt wird, würde ich den status als integer-wert ins Object-Feld der Zelle hauen und im OnDrawCell diesen wert auwerten und entsprechend das bild malen/kopieren.

wozu überschreiben, es gibt doch ein event...

HTH Frank
Mhh da steig ich net durch naja okay aber trotzdem thx für die antworten
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#6

Re: Grid mit Bild in der Zeile

  Alt 17. Okt 2007, 12:57
z.b. für den fall das das icon für einen Status steht, schreibst du den statuswert beim einlesen der Daten in das Objectsfeld (Stringgrid1.objects[0,row]). die Bitmaps erzeugst du am besten im formcreate (im formdestroy gibst du sie wieder frei). im OnDrawCell prüfst den Objects-wert auf deine werte und malst dementsprechend das Bitmap.

so in etwa stell ich mir die OnDrawCell-Methode vor:

Delphi-Quellcode:
Stringgrid1.Canvas.Fillrect(rect);
if col=0 then //nur erste spalte mit bitmap füllen
begin
  case Integer(Objects[0,row]) of //das Objects-Feld auswerten, was beim einlesen auf den status gesetzt wurde
    1:stringgrid1.Canvas.Draw(rect.left,rect.top,bmp1); //hier halt das passende bitmap malen
    2:stringgrid1.Canvas.Draw(rect.left,rect.top,bmp2);
    ...
  end;
end else
begin //bei den anderen nur den text hinpinseln
  Stringgrid1.Canvas.Textout(rect.left+4,rect.top+2,Cells[col,row]);
end;
HTH Frank
  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 20:37 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