Delphi Tips 
-----------------------------

0241  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/09/09 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/09/09 osamu 編集
TPageControl でタブをドラッグして順序入れ替え

>マウスでTabSheet上のTabをドラッグして
>Tabの順序を交換するにはどうしたらよいのでしょうか?

面白そうなので、D3 でやってみました。

--- 以下 例文 ---
procedure TForm1.PageControl1MouseDown(Sender: TObject;...);
begin
  PageControl1.BeginDrag(false);
end;

procedure TForm1.PageControl1DragOver(Sender, ...);
begin
  if Sender is TPageControl then
    Accept := true;
end;

procedure TForm1.PageControl1DragDrop(Sender, ...);
var
  i: Integer;
  r: TRect;
begin
  if not (Sender is TPageControl) then
    Exit;

  with PageControl1 do
  begin
    for i := 0 to PageCount - 1 do
    begin
      Perform(TCM_GETITEMRECT, i, LPARAM(@r));

      if PtInRect(r, Point(X, Y)) then
      begin
        if i <> ActivePage.PageIndex then
          ActivePage.PageIndex := i;

        Exit;
      end;
    end;
  end;
end;
参照: [Delphi-ML:33411] <Win95> <コンポーネント >

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp