Frequently Asked Component Specific Questions

Options

Display all FAQ items

Search FAQ items:


Displaying items 1 to 1 of 1, page 1 of 1

<< previous next >>

TAdvTabSet
Adding drag & drop on tabs for TAdvPageControl

Set TAdvPageControl.DragMode to dmManual and use this code in the TAdvPageControl events to perform drag & drop to reorder tabsheets:
procedure TForm1.AdvPageControl1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TAdvPageControl;
end;

procedure TForm1.AdvPageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TAdvPageControl(Sender).BeginDrag(false, 5);
end;

procedure TForm1.AdvPageControl1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  i: Integer;
begin
  if (Sender = Source) then
  begin
    i := TAdvPageControl(Sender).IndexOfTabAt(X, Y);
      if (i>= 0) and (i < TAdvPageControl(Sender).PageCount) then
        TAdvPageControl(Sender).ActivePage.PageIndex := i;
  end
  else if (Source is TAdvPageControl) then
  begin
    TAdvPageControl(Source).ActivePage.AdvPageControl := TAdvPageControl(Sender);
  end;
end;