Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TVirtualStringTrfee, MakeVisible-Ersatz ? (https://www.delphipraxis.net/126603-tvirtualstringtrfee-makevisible-ersatz.html)

hoika 29. Dez 2008 11:12


TVirtualStringTrfee, MakeVisible-Ersatz ?
 
Hallo,

ich will einen Knoten in einem TVirtualStringTree (Lischek) markieren.
Ich mache das über das über Suchen (CallBack) und dann


Delphi-Quellcode:
procedure TForm.LV_TPData_SearchCallBack(
  Sender: TBaseVirtualTree;
  Node: PVirtualNode; Data: Pointer; var bAbort: Boolean);
var
  bFound: Boolean;
begin

 // vergleichen
 // ...
 ///

  if bFound then
  begin
    Sender.IsVisible[Node] := True;
    Sender.FocusedNode    := Node;
    Sender.Selected[Node] := True;
  end;

end;
Problem.
Befindet sich der Knoten ausserhalb des Sichtfelds,
wird nicht u ihm "hingescrollt", so wie bei TListView.MakeVisible.

Wie macht man das mit TVirtualStringTree ?

Update aus Google:

Delphi-Quellcode:
    Sender.ScrollIntoView(Node, False{Center}); // oder True, ist egal
    Sender.FullyVisible[Node]:= True;
Nur leider funktioniert das nicht.



Danke


Heiko

hoika 29. Dez 2008 13:33

Re: TVirtualStringTrfee, MakeVisible-Ersatz ?
 
Hallo,

hat sich erledigt.

Schon FocusedNode ruft intern ScrollIntoView.

Es funktioniert.

Mein Fehler:
- nach dem Füllen des Trees habe ich ein LV_TPData.Header.SortColumn:= 0; gemacht.

Danach klappt das FocusedNode nicht mehr richtig.


Lösung:
- LV_TPData.Header.SortColumn:= 0 vor dem Füllen machen.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz