![]() |
Listview: Bitmap aus Header entfernen
Hi,
nachdem ich Sortierpfeile als Bitmap in den Header (links und rechts) gezeichnet habe, wollte ich die Bitmaps nun wieder entfernen. Ich schaffe es nicht! Unter anderem habe ich es auch nach dem Luckie-List-View-Tutorial probiert. Es will nicht! Kann mir einer einen Tipp geben, wie es funktioniert? (Delphi 7 pro unter Win 7 64) Gruß Mattze |
AW: Listview: Bitmap aus Header entfernen
Mit welchen genauen Code hast du des den reingebracht?
|
AW: Listview: Bitmap aus Header entfernen
Hi,
der code zum Reinbringen:
Delphi-Quellcode:
Hilft das?
procedure TMyListView.SetColumnSortOrder(Column: TListcolumn);
var hdr: HWND; hdritem: THDItem; begin hdr := Listview_GetHeader(handle); FillChar(hdritem, sizeof(hdritem), 0); hdritem.Mask := HDI_FORMAT; Header_GetItem(hdr, column.index, hdritem); hdritem.Mask := HDI_FORMAT or HDI_BITMAP; if FSortDirection=sdAscending then hdritem.hbm := FUpArrow.Handle else hdritem.hbm := FDownArrow.Handle; if fsortarrowwhere=saLeft then hdritem.fmt := hdritem.fmt or HDF_BITMAP else hdritem.fmt := hdritem.fmt or HDF_BITMAP_ON_RIGHT or HDF_BITMAP; Header_SetItem(hdr, column.index, hdritem); end; Gruß Matthias |
AW: Listview: Bitmap aus Header entfernen
Ohne es getestet zu haben - sowas wie:
Delphi-Quellcode:
?
hdritem.Mask := HDI_FORMAT or HDI_BITMAP;
hdritem.hbm := 0; hdritem.fmt := hdritem.fmt and not (HDF_BITMAP_ON_RIGHT or HDF_BITMAP); |
AW: Listview: Bitmap aus Header entfernen
Hi,
damit will es auch nicht. Zum Bitmap entfernen (nach luckies Tutorial):
Delphi-Quellcode:
Die Showmessges habe ich mal zu Testzwecken reingeschrieben und siehe da,
procedure TMyListView.HeaderBmpDel;
var buf: PAnsiChar; hdr: HWND; hi: THDItem; begin GetMem(buf, 100); hi.Mask := HDI_BITMAP or HDI_FORMAT {or HDI_IMAGE or HDI_ORDER} or HDI_TEXT or HDI_WIDTH; hi.pszText := buf; hi.cchTextMax := sizeof(buf); if not Header_GetItem(hdr,1,hi) then showmessage('Fehler beim Get'); hi.fmt := hi.fmt and not HDF_BITMAP_ON_RIGHT // Bitmap-Position and not HDF_IMAGE and not HDF_BITMAP; if not Header_SetItem(hdr,1,hi) then showmessage('Fehler beim Set'); end; end; er schafft weder das Header_GetItem noch das Header_SetItem! Der kriegt auch den pszText nicht richtig. @uligerhardt: Dein Vorschlag klappt übrigens auch nicht. Ich versuche es weiter... Irgendwie muss es ja gehen... Gruß Mattze |
AW: Listview: Bitmap aus Header entfernen
Hi,
jetzt klappt es! Einen gaaanz dussligen Fehler gemacht. Ich fühle mich wie ein Rookie! Ich habe einfach vergessen, mir den Listview-Header zu Anfang zu holen. Man, man, man... Ich schäme mich! Gruß Mattze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 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