anchor.diff:    end;
   end; { TDLUIXVCLFloatingFrame.MarkActive }
   
  +procedure TDLUIXVCLFloatingFrame.MoveDown(vt: TVirtualStringTree);
  +var
  +  node: PVirtualNode;
  +begin
  +  node := vt.GetNextLeaf(vt.FocusedNode);
  +  if assigned(node) then
  +    VTSelectNode(vt, node);
  +end; { TDLUIXVCLFloatingFrame.MoveDown }
  +
  +procedure TDLUIXVCLFloatingFrame.MoveUp(vt: TVirtualStringTree);
  +var
  +  node: PVirtualNode;
  +begin
  +  if assigned(vt.FocusedNode) then
  +    node := vt.GetPreviousLeaf(vt.FocusedNode)
  +  else
  +    node := vt.GetLast;
  +  if assigned(node) then
  +    VTSelectNode(vt, node);
  +end; { TDLUIXVCLFloatingFrame.MoveUp }
  +
   procedure TDLUIXVCLFloatingFrame.NewColumn;
   begin
     FForceNewColumn := true;
  
positive.code:         listBox.SelectAndMakeVisible(Min(listBox.ItemIndex + NumItems(listBox), listBox.Items.Count - 1));
        listBox.OnClick(listBox);
        key := 0;
      end;
    end
    else if key = VK_RETURN then begin
  
negative.code:     procedure SetOnAction(const value: TDLUIXFrameAction);
      procedure StartSearch(Sender: TObject);
      procedure UpdateClientSize(const rect: TRect);
      procedure VTSelectNode(vt: TBaseVirtualTree; node: PVirtualNode);
    public
      constructor Create(const parentFrame: IDLUIXFrame);
      // IDLUIXVCLFloatingFrame
  