Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Die aktuelle Spalte markieren

  Alt 2. Mär 2003, 18:58
Das einfachste zuerst: Ihr kennt sicher den Effekt aus dem Explorer von Windows XP, bei dem die aktuelle Spalte grau markiert wird. Dazu ist keine Zeichenfunktion erforderlich, das OS stellt mit der Nachricht "LVM_SETSELECTEDCOLUMN" (bzw. "ListView_SetSelectedColumn") die notwendige Funktionalität zur Verfügung.
Man übergibt lediglich den Index der gewünschten Spalte; beim Start des Programms bspw.:
ListView_SetSelectedColumn(TListview1.Handle,0); Wenn man eine Sortierfunktion hat, bietet sich natürlich das "OnColumnClick"-Ereignis an, um die Spaltenmarkierung zu wechseln:
Delphi-Quellcode:
procedure TForm1.lv1ColumnClick(Sender: TObject; Column: TListColumn);
begin
  { ... sortieren ... }

  // sortierte Spalte kennzeichnen
  ListView_SetSelectedColumn(lv1.Handle,Column.Index);
end;
Anders herum geht´s auch: mit "LVM_GETSELECTEDCOLUMN" oder "ListView_GetSelectedColumn" könnt ihr ermitteln, welche Spalte sozusagen den Fokus hat.

Soviel dazu.
  Mit Zitat antworten Zitat