Hallo XZise,
wenn ich dich richtig verstanden habe, geht es dir um das Verschieben von Tabs im Control per Drag&Drop. Ich hab das so gelöst. Funzt anstandslos.
Delphi-Quellcode:
// Member der Klasse
private
DragPage : TTabSheet; // zu verschiebenden Tabscheets (Drag&Drop)
.......
procedure TForm2.PageControl2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var i: integer;
begin
// Drag & Drop
i:=PageControl2.IndexOfTabAt(x,y);
If (Button=mbLeft) then begin
DragPage:=Pagecontrol2.Pages[i];
PageControl2.BeginDrag(false);
end;
end;
procedure TForm2.PageControl2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
If (Source is TTabSheet) then
Accept:=true;
end;
procedure TForm2.PageControl2DragDrop(Sender, Source: TObject; X, Y: Integer);
var i:integer;
begin
i:=PageControl2.IndexOfTabAt(x,y);
DragPage.PageControl:=PageControl2;
DragPage.PageIndex:=i;
end;
DragMode ist dmManual.
Das hab ich dann auch noch für ein weiters PageControl. Das Verschieben von Tabs zwischen beiden Controls ist ebenso ohne Probleme möglich.
Gruß oki