anchor.diff:    FColumnTop := Max(FColumnTop, rect.Bottom);
   end; { TDLUIXVCLFloatingFrame.UpdateClientSize }
   
  +procedure TDLUIXVCLFloatingFrame.VTSelectNode(vt: TBaseVirtualTree; node: PVirtualNode);
  +begin
  +  vt.ClearSelection;
  +  if assigned(node) then
  +    vt.Selected[node] := true;
  +  vt.FocusedNode := node;
  +end; { TDLUIXVCLFloatingFrame.VTSelectNode }
  +
   { TDLUIXVCLFloatingEngine }
   
   constructor TDLUIXVCLFloatingEngine.Create;
  
positive.code:       node: PVirtualNode; var childCount: cardinal);
      function  IsHistoryAnalyzer(const analyzer: IDLUIXAnalyzer): boolean;
      function  MakeRes(const resourceName: string): string;
      procedure NewColumn;
      function  NumItems(listBox: TListBox): integer;
      procedure PrepareNewColumn;
  
negative.code:         listBox.SelectAndMakeVisible(Min(listBox.ItemIndex + NumItems(listBox), listBox.Items.Count - 1));
        listBox.OnClick(listBox);
        key := 0;
      end
      else if assigned(treeData) then begin
        if key = VK_UP then begin
          MoveUp(treeData.VirtualTree);
          key := 0;
        end
        else if key = VK_DOWN then begin
          MoveDown(treeData.VirtualTree);
          key := 0;
        end;
      end;
    end
    else if key = VK_RETURN then begin
  