anchor.diff:      if isBack then
         FForm.Left := rect.Left - CFrameSpacing - FForm.Width
       else
  -      FForm.Left := rect.Right + CFrameSpacing;
  +      FForm.Left := rect.Left + CFrameSpacing;
       FForm.Top := rect.Top + (rect.Height - FForm.Height) div 2;
     end;
     FForm.UpdateMask;
  
positive.code:     end);
  end; { TDLUIXVCLFloatingFrame.EaseLeft }
  
  procedure TDLUIXVCLFloatingFrame.ForwardAction(Sender: TObject);
  begin
    if assigned(OnAction) then
  
negative.code: begin
    Result := (FParent as IDLUIXVCLFloatingFrame).GetBounds_Screen(action);
  end; { TDLUIXVCLFloatingFrame.GetParentRect }
  
  procedure TDLUIXVCLFloatingFrame.HandleSearchBoxKeyDown(Sender: TObject;
    var key: word; shift: TShiftState);
  var
    listBox: TListBox;
    timer  : TTimer;
  begin
    if key = VK_UP then begin
      listBox := (TObject((Sender as TSearchBox).Tag) as TListBox);
      if listBox.ItemIndex > 0 then
        listBox.ItemIndex := listBox.ItemIndex - 1;
      key := 0;
    end
    else if key = VK_DOWN then begin
      listBox := (TObject((Sender as TSearchBox).Tag) as TListBox);
      if listBox.ItemIndex < (listBox.Items.Count - 1) then
        listBox.ItemIndex := listBox.ItemIndex + 1;
      key := 0;
    end
    else if key = VK_RETURN then begin
      listBox := (TObject((Sender as TSearchBox).Tag) as TListBox);
      if listBox.ItemIndex >= 0 then
        ; //TODO: Trigger [Default] action (Open)
      key := 0;
    end
    else begin
      timer := (TObject((TObject((Sender as TSearchBox).Tag) as TListBox).Tag) as TTimer);
      timer.Enabled := false;
      timer.Enabled := true;
    end;
  end; { TDLUIXVCLFloatingFrame.HandleSearchBoxKeyDown }
  
  procedure TDLUIXVCLFloatingFrame.HandleSearchBoxTimer(Sender: TObject);
  begin
    (Sender as TTimer).Enabled := false;
    FilterListBox(TObject(TTimer(Sender).Tag) as TSearchBox);
  end; { TDLUIXVCLFloatingFrame.HandleSearchBoxTimer }
  
  function TDLUIXVCLFloatingFrame.IsEmpty: boolean;
  begin
  