Hallo!
Ich hab ein ganz simples Problem:
Ich verwende ein TVirtualStringTree um ein Grid darzustellen, in dem der User mit Maus und Tastatur herumnavigieren kann.
Ich will nun immer die Position der aktuell ausgewählten Zelle anzeigen. (eigentlich will ich was ganz anderes, aber halten wir's hier mal simpel).
Mach ich nun folgendes:
Delphi-Quellcode:
procedure TForm1.VSTFocusChanged(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex);
begin
Node:=VST.GetFirstSelected; // Müsste ich nicht, aber "in echt" ruf ich eine andere Methode auf,
// die das so bestimmt - und das ist dann auch schon das Problem!
Caption:=Format('%d / %d', [Node.Index, Column]);
end;
dann schlägt das bei Tastaturnavigation (bei den rauf/runter Tasten) fehl.
Die ausgewählte Zeile bei Tastaturnavigation wird scheinbar erst NACH dem Aufruf von OnFocusChange aktualisiert.
HILFE!
Ralf