Einzelnen Beitrag anzeigen

Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#4

Re: TTabControl - Drag and Drop?

  Alt 19. Feb 2007, 23:31
Also nach etwas nachdenken und rumprobieren habe ich das ganze (erstmal) so gelöst:

Delphi-Quellcode:
procedure TForm1.ParentMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TC.Tag:=TC.IndexOfTabAt(X,Y); //Tab was wir verschieben wollen
  TC.Cursor:=crDrag;
end;

procedure TForm1.ParentMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var Von,Nach,Akt: Integer;
    Temp: TRoom;
begin
  Von:=TC.Tag; //Ursprungsposition
  Nach:=TC.IndexOfTabAt(X,Y); //Dahin
  if (Von<>Nach) and (Von<>-1) and (Nach<>-1) then //Andere Position und beide Positionen gültig
  begin //Move Tab Von Nach
    Temp:=Data[Von]; //Daten hinter dem Formular schieben
    for Akt:=Von to Nach-1 do
      Data[Akt]:=Data[Akt+1];
    Data[Nach]:=Temp;
    TC.Tabs.Move(Von,Nach); //Tab-Beschriftung schieben
  end;
  TC.Cursor:=crDefault;
end;
Das ganze sieht dann zwar nicht sooo spektakulär aus, aber es funktioniert
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat