您的位置:首页 > 编程语言 > Delphi

Delphi中拖动的方式来移动TPageControl的Tab

2016-01-05 00:00 363 查看
摘要: 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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息