@@ -21,6 +21,7 @@ TfrmJsonViewer = class(TForm)
21
21
actSearchPrev: TAction;
22
22
actSearchNext: TAction;
23
23
actSortChildren: TAction;
24
+ lblSearchResult: TLabel;
24
25
procedure TreeView1CreateNodeClass (Sender: TCustomTreeView;
25
26
var NodeClass: TTreeNodeClass);
26
27
procedure TreeView1Expanding (Sender: TObject; Node: TTreeNode;
@@ -46,6 +47,7 @@ TfrmJsonViewer = class(TForm)
46
47
procedure SearchNode (Sender: TObject; Down: boolean);
47
48
protected
48
49
procedure DoShow ; override;
50
+ procedure CreateParams (var Params: TCreateParams); override;
49
51
end ;
50
52
51
53
TJSONNode=class (TTreeNode)
@@ -94,6 +96,7 @@ procedure TfrmJsonViewer.DoShow;
94
96
FFileMulti:=false;
95
97
96
98
Application.OnActivate:=AppActivate;
99
+ ShowWindow(Application.Handle,SW_HIDE);
97
100
98
101
TreeView1.Items.BeginUpdate;
99
102
try
@@ -409,6 +412,12 @@ procedure TfrmJsonViewer.AppActivate(Sender: TObject);
409
412
end ;
410
413
end ;
411
414
415
+ procedure TfrmJsonViewer.CreateParams (var Params: TCreateParams);
416
+ begin
417
+ inherited ;
418
+ Params.WndParent:=GetDesktopWindow;
419
+ end ;
420
+
412
421
{ TJSONNode }
413
422
414
423
procedure TJSONNode.AfterConstruction ;
@@ -644,6 +653,7 @@ procedure TfrmJsonViewer.SearchNode(Sender:TObject;Down:boolean);
644
653
n,n1:TTreeNode;
645
654
f:string;
646
655
b:boolean;
656
+ c:integer;
647
657
648
658
procedure MoveOne ;
649
659
begin
@@ -676,12 +686,14 @@ procedure TfrmJsonViewer.SearchNode(Sender:TObject;Down:boolean);
676
686
end ;
677
687
end ;
678
688
end ;
689
+ inc(c);
679
690
end ;
680
691
681
692
begin
682
693
Screen.Cursor:=crHourGlass;
683
694
TreeView1.Items.BeginUpdate;
684
695
try
696
+ c:=0 ;
685
697
n1:=TreeView1.Selected;
686
698
n:=n1;
687
699
MoveOne;
@@ -695,7 +707,16 @@ procedure TfrmJsonViewer.SearchNode(Sender:TObject;Down:boolean);
695
707
Screen.Cursor:=crDefault;
696
708
TreeView1.Items.EndUpdate;
697
709
end ;
698
- TreeView1.Selected:=n;
710
+ if n=nil then
711
+ lblSearchResult.Caption:=' none found'
712
+ else
713
+ begin
714
+ if Down then
715
+ lblSearchResult.Caption:=IntToStr(c)+' nodes forward'
716
+ else
717
+ lblSearchResult.Caption:=IntToStr(c)+' nodes backward' ;
718
+ TreeView1.Selected:=n;
719
+ end ;
699
720
TreeView1.SetFocus;
700
721
end ;
701
722
0 commit comments