Glyph oder Icons in TStringGrid?
-
Hallo, ist es möglich in den StringGrid auch Icons einzufügen, wie es in FTP Programmen der Fall ist??
Danke schon mal
Gruß
Thorsten
-
Hallo
Stichwörter sind TStringGrid::OnDrawEvent und die WinApi-Funktion ExtractAssociatedIcon(). Dazu gibt es auch bereits ein Thread im Forum, also such mal.
bis bald
akari
-
jo cool danke!, werde es mir morgen dann mal anschauen !

-
Bemerkung am Rande: für Dateilisten dieser Art vewendet man üblicherweise kein StringGrid sondern TListView. Da gibt's schon spezielle Properties für die Darstellung von Icons etc.
-
hmm, mit tlistview, bekomme ich das immo nicht gebacken, mit stringlist geht es, nur zeigt er mir nicht die ordner symbole an
siehe: http://www.thorsten-steinberg.de/nod.bmp
wie kann das sein?
-
Hallo
bei Verzeichnissen must du selber ein Icon auswählen und anzeigen. Das heißt du must im OnDrawCell-Event wissen, ob du eine Datei oder ein Verzeichniss anzeigst.
bis bald
akari
-
ok, dass erkenne ich ja an den datei attributen
-
Hallo Thomas,
Frage in eigener Sache.(Evtl hast Du mit dem gleichen Problem rumgekämpft)
Ich habe im OnDrawEvent ein Bmp im StringGrid dagestellt. Also nicht Icons wie Du.
Klingt aber ziemlich ähnlich.
Habe aktuell ein Problem, wenn ich Scrolle, dann zeigt es mir die Bmp´s im Grid nicht an. (Nur im´mer von den ersten)
Das kommt daher, weil ich die Position des Bmp´s anhand der aktiven Reihe berechne.int iRow = StringGrid->RowCount; h = (ARow*StringGrid->RowHeights[iRow]) + ARow; StringGrid->Canvas->Draw(Width, h ,pBitmap);Beim Scrollen muß eigentlich der Wert h neu umgerechnet werden.
Hattest Du ähnliche Probleme? Wenn ja wie hast Du es gelösst.
Danke
-
Hallo
so wird das auch nichts.
Der OnDrawCell-Event hat doch den Parameter Rect, der doch die zu verwendende Zeichenfläche angibt. Es müßte also ungefähr so aussehen :StringGrid->Canvas->Draw(Rect.left, Rect.top, pBitmap);Eventuell must du das Bitmap im Rechteck noch ausrichten.
bis bald
akari
-

Ja das wars.
Da habe ich mich überdacht.
Danke akari