Hallo,
für eine C# Anwendung wird ein listView Toolbox Element verwendet.
Nun möchte ich zum Abschluss noch, dass der Hintergrund des Headers
eine Farbe erhält. Dazu bin ich nun folgendermaßen vorgegangen:
public Program()
{
InitializeComponent();
ListViewItem[] items = new ListViewItem[13];
items [0] = new ListViewItem("Number");
items [0].SubItems.Add("Test");
SetWindowRedraw(listViewDefaultTelegram, 1);
listViewTest.Items.Add(items [0]);
SetWindowRedraw(listViewDefaultTelegram, 0);
}
private void OnDrawColumnHeader_listViewTest(object sender, DrawListViewColumnHeaderEventArgs e)
{
// Fill header background with solid yello color.
e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);
// Let ListView draw everything else.
e.DrawText();
}
private void SetWindowRedraw(Control ctrl, int onOff)
{
int WM_SETREDRAW = 11;
SendMessage(ctrl.Handle, WM_SETREDRAW, onOff, 0);
if (onOff == 1)
{
ctrl.Update();
}
}
Ich habe auch die Eigenschaft "OwnerDraw" von dem listView Element auf true gesetzt
Ergebnis: Das listView erscheint ohne Inhalt
Sobald OwnerDraw auf true
gesetzt wird, muß man alles über die entsprechenden Ereignismethoden DrawItem
, DrawSubItem
selber zeichnen (s.a. Beispiel).
Wie könnte ich dies nun bei mir lösen, damit ich den Header von dem listView Element einer Farbe zuordnen kann und auch zugleich Daten anzeigen lassen kann?
Ok habs nun hinbekommen.
Nochmals Danke
Wenn du jetzt noch deine Lösung postet haben auch andere welche ein ähnliches/gleiches Problem haben etwas davon...