Frequently Asked Component Specific Questions
Options |
Display all FAQ items |
Displaying items 1 to 1 of 1, page 1 of 1
<< previous next >>



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;