AGB  ·  Datenschutz  ·  Impressum  







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

Listview: Bitmap aus Header entfernen

Ein Thema von Mattze · begonnen am 19. Feb 2015 · letzter Beitrag vom 19. Feb 2015
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 06:56
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 07:45
Mit welchen genauen Code hast du des den reingebracht?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

AW: Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 08:07
Hi,

der code zum Reinbringen:
Delphi-Quellcode:
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;
Hilft das?

Gruß
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 08:24
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);
?
Uli Gerhardt
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#5

AW: Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 08:38
Hi,

damit will es auch nicht.
Zum Bitmap entfernen (nach luckies Tutorial):

Delphi-Quellcode:
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;
Die Showmessges habe ich mal zu Testzwecken reingeschrieben und siehe da,
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
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#6

AW: Listview: Bitmap aus Header entfernen

  Alt 19. Feb 2015, 14:52
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
  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 15:14 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