Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: PageControl - Drag and Drop ist problematisch

  Alt 30. Okt 2007, 23:09
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
42
  Mit Zitat antworten Zitat