AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Listview Spaltenkopf mit Bild und Sortieranzeiger
Thema durchsuchen
Ansicht
Themen-Optionen

Listview Spaltenkopf mit Bild und Sortieranzeiger

Offene Frage von "Luckie"
Ein Thema von virus82 · begonnen am 10. Aug 2007 · letzter Beitrag vom 13. Feb 2011
Antwort Antwort
virus82

Registriert seit: 29. Jun 2007
Ort: Leipzig
34 Beiträge
 
Delphi 2009 Professional
 
#1

Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 10. Aug 2007, 13:41
Hallo,

hab hier im Forum schon viele nützliche Dinge gefunden, aber mein Problem ist das ich in einer Listview (sortieren klappt, Sortieranzeiger in der Column auch) gern über den ImageIndex ein Bild for der Spaltenüberschrift und ein kleines Dreieck (Sortieranzeiger) anzeigen lassen möchte.

Es geht immer nur entweder oder, ist es überhaupt möglich beides anzuzeigen?

Vielleicht weiß es ja jemand.


Einfache Beispiel Code um in Col 1 das kleinen Dreiecke anzuzeigen (vorher zugewiesenes Icon der Column verschwindet immer)

Delphi-Quellcode:
var
  Header: THandle;
  HDItem: THDItem;
  Buf: array[0..MAX_PATH]of Char;
  Index: Integer;
begin
  Index := 1;
  Header := ListView_GetHeader(ListView1.Handle);

  FillChar(HDItem, SizeOf(HDItem), 0);
  HDItem.Mask := HDI_BITMAP or HDI_FORMAT or HDI_IMAGE or HDI_ORDER or HDI_TEXT or HDI_WIDTH;
  HDItem.pszText := Buf;
  HDItem.cchTextMax := sizeof(Buf);
  Header_GetItem(Header, Index, HDItem);

  //entweder mit Dreieck
  HDItem.fmt := HDItem.fmt or HDF_SORTUP;
  //oder mit Icon ohne Dreieck
  //HDItem.fmt := HDItem.fmt or HDF_IMAGE;
  //beides geht nicht
  //HDItem.fmt := HDItem.fmt or HDF_SORTUP or HDF_IMAGE;

  Header_SetItem(Header, Index, HDItem);
end;
Angehängte Grafiken
Dateityp: bmp lv_181.bmp (91,5 KB, 114x aufgerufen)
Marco
  Mit Zitat antworten Zitat
virus82

Registriert seit: 29. Jun 2007
Ort: Leipzig
34 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 1. Feb 2009, 12:00
Scheint wohl wirklich niemand zu wissen.
Marco
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 1. Feb 2009, 12:47
Zitat von virus82:
Scheint wohl wirklich niemand zu wissen.
ja ja mach mal langsam

Mir hilft man auch nicht immer direkt.
Ich denke das dein Bild verschwindet weil du es nicht im richtigen Event(Ereignis) eingebunden hast.
arbeite zur zeit ja auch an etwas ähnlichen nur halt mit ner ListBox.

1. Die Bilder dem richtigen ereignis zu weisen := DrawItem
2. Könnte das dann so aussehen.

Delphi-Quellcode:
var
  PDis: PDrawItemStruct;
  Brush: HBrush;
  bm: TBitmap;}
begin
  // Pointer auf DrawItemStruct
  PDis := Pointer(LP);
  // Hintergrund transarent machen
  SetBkMode(PDis.hDC, TRANSPARENT);
 
  Brush := CreateSolidBrush(DeineComponente.Backcolor);
  // Bitmap erstellen
  bm := TBitmap.Create;
  bm.LoadFromFile(Mein.Icon);
  // Birmap in den definierten Rect kopieren
  BitBlt(PDis.hDC, PDis.rcItem.Left + 4, PDis.rcItem.Top + 1 , bm.Width, bm.Height,
    bm.canvas.Handle, 0, 0, SRCCopy);
  bm.Free;

  // Hintergrund des Bitmap mit dem HBrush füllen
  PDis.rcItem.Left := PDis.rcItem.Left + 20;
  FillRect(PDis.hDC, PDis.rcItem, Brush);
  // Das hBrush freigeben
    DeleteObject(Brush);}
gruss Emil
  Mit Zitat antworten Zitat
virus82

Registriert seit: 29. Jun 2007
Ort: Leipzig
34 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 21. Okt 2009, 07:58
Die Frage ist ja auch ob Windows (Windows 200 oder Windows XP) das überhaupt kann. Wollte nicht alles selber malen.

Aber Danke für den Ansatz. Werde ich mir nochmal anschauen.
Marco
  Mit Zitat antworten Zitat
virus82

Registriert seit: 29. Jun 2007
Ort: Leipzig
34 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 4. Nov 2009, 23:33
Ich will ja kein eigenes Bild malen sondern wie oben vlt zusehen, die Eigenschaften der Columns nutzen den Sortieranzeiger einzublenden und das Spaltenbild anzuzeigen, falls die Splate solch eines hat (aus der ImageList der ListView).

Entweder das Bild oder der Sortieranzeiger, wieso nicht beides? Ist es unter WindowsXP nicht möglich?
Marco
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 5. Nov 2009, 08:19
Schau mal hier Bilder u.ä. in Listview Column
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Listview Spaltenkopf mit Bild und Sortieranzeiger

  Alt 13. Feb 2011, 05:55
Wie und wo muss ich den Code von virus82 anwenden und einfügen, damit das funktioniert? Ich erstelle die Spalten dynamisch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 11:17 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