Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

[VST] Einträge mit beliebiger Taste markieren

  Alt 23. Feb 2010, 08:14
Hallo DPler/innen,

ich möchte in einem VirtualStringTree (VST) die Einträge durch drücken der Leertaste markieren, wie z.B. in einigen
Dateibrowsern (Total Commander). Jedoch klappt das ganze irgendwie noch nicht so ganz. Das Problem ist wenn ich einem
Eintrag versuche den Status "markiert" zugeben ist dieser ja bereits markiert, ich stehe ja auf dem Eintrag und somit
ist dieser ja bereits in gewisser weise markiert.

Das VST ist im Report Modus.

Mein erster Versuch sieht wie folgt aus nur bringt das Leider nichts und habe bisher auch keine Idee das umzusetzten.

Delphi-Quellcode:
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  Node : PVirtualNode;

begin
  if Key = VK_SPACE then begin
    Node := vstScroller.FocusedNode;
    if Assigned(Node) then begin

      if not (vsSelected in Node.States) then
        Node.States := Node.States + [vsSelected]
      else
        Node.States := Node.States - [vsSelected];

    end;{if}
  end;{if}

end;
Es geht also darum beliebige Einträge mit der Leertaste zu markieren bzw. die
Markierung wieder aufzuheben wenn man erneut die Leertaste betätigt.
  Mit Zitat antworten Zitat