Hallo!
Bin schon ein klein wenig weiter!
Hab jetzt folgenden Code:
Delphi-Quellcode:
procedure TKalk.naechsteneintragsuchenClick(Sender: TObject);
var
f ,run : PVirtualNode;
suchobjekt: String;
begin
suchobjekt := objauswsucherechnungsnummer.text;
vst.getfirst;
// vst.setfocus;
if assigned(vst.FocusedNode) then begin
run := vst.FocusedNode;
run := run.NextSibling;
while Assigned(run) do begin
f := vst.IterateSubTree(run,ausfuehren,Pointer(suchobjekt),[],true,false);
if assigned(f) then begin
vst.FocusedNode := f;
vst.Selected[f] := true;
break;
end;
run := run.NextSibling;
end;
end;
end;
Delphi-Quellcode:
procedure Tkalk.ausfuehren(Sender: TBaseVirtualTree; Node: PVirtualNode;
Data: Pointer; var Abort: Boolean);
begin
Abort := vst.Text[Node,0] = objauswsucherechnungsnummer.Text;
end;
Funzt eigentlich gut - nur mit einem Problem:
Ich gebe den Wert in ein Edit-Feld ein, wenn ich dann sofort, wie es eigentlich sein sollte, mit dem Button die Suche auslöse, dann passiert gar nichts.
vst.focusednode = false
Wenn ich den Wert in das Edit-Feld eingebe, dann einen Node am VST auswähle und dann auf den Button klicke funzt es.
Hat jemand eine Idee, wie ich das Klicken des ersten Nodes vor dem Klicken des Buttons umgehen kann.
Danke
Ratloser