Delphi中拖動的方式來移動TPageControl的Tab

Delphi中拖動的方式來移動TPageControl的Tab

 

  核心提示:procedure TMainForm.PageControl1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState;...
procedure TMainForm.PageControl1MouseDown(Sender: TObject;   Button: TMouseButton; Shift: TShiftState; X, Y: Integer) ; begin   PageControl1.BeginDrag(False) ; end; procedure TMainForm.PageControl1DragDrop(Sender, Source: TObject; X,   Y: Integer) ; const   TCM_GETITEMRECT = $130A; var   TabRect: TRect;   j: Integer; begin   if (Sender is TPageControl) then   for j := 0 to PageControl1.PageCount - 1 do   begin     PageControl1.Perform(TCM_GETITEMRECT, j, LParam(@TabRect)) ;     if PtInRect(TabRect, Point(X, Y)) then     begin       if PageControl1.ActivePage.PageIndex <> j then         PageControl1.ActivePage.PageIndex := j;       Exit;     end;   end; end; procedure TMainForm.PageControl1DragOver(Sender, Source: TObject; X,   Y: Integer; State: TDragState; var Accept: Boolean) ; begin   if (Sender is TPageControl) then Accept := True; end;
相關文章
相關標籤/搜索