AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drag & Drop PageControl

Ein Thema von Tpercon · begonnen am 30. Jul 2002 · letzter Beitrag vom 30. Jul 2002
Antwort Antwort
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#1

Drag & Drop PageControl

  Alt 30. Jul 2002, 16:20
Wie kann man die einzelnen TabSheets im PageControl untereinander vertauschen (Drag & Drop)?
Das Hauptproblem ist eignetlich das OnDragOver Ereignis, da ich nicht weiß, wie ich das TabSheet bewege.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 30. Jul 2002, 16:56
Vertauschen:
Code:
var
  TS1, TS2: TTabSheet;
  Index: Integer;
begin
  TS1 := AusgewähltesTabSheet;
  TS2 := MitDiesemTabSheetTauschen;
  Index := TS1.PageIndex;
  TS1.PageIndex := TS2.PageIndex;
  TS2.PageIndex := Index;
end;
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#3
  Alt 30. Jul 2002, 18:05
Muß ja nicht vertauscht, sondern nur bewegt werden. Hab gedacht, es gibt ne Move Funktion, we bei der ListBox oder so was ähnliches.

Gruß
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4
  Alt 30. Jul 2002, 18:18
Hi nochmal

Hab das jetzt wie folgt gelöst:
Code:
private
 eintrag:integer;

procedure TForm1.PageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var i: integer;
begin
i:=PageControl1.IndexOfTabAt(x,y);
If (i>-1)and(Button=mbLeft)
 then
  begin
   Eintrag:=i;
   PageControl1.BeginDrag (false);
  end;
end;

procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var i:integer;
begin
i:=PageControl1.IndexOfTabAt(x,y);
If i > -1
 then
  begin
   PageControl1.Pages[eintrag].PageIndex:=i;
  end;
end;

procedure TForm1.PageControl1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
If Source is TTabSheet
 then Accept:=true;
end;
Gruß
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 30. Jul 2002, 23:34
Es gibt bei TPageControl zwar eine MoveTab-Methode, nur ist die dummerweise als private deklariert womit kein Zugriffsmöglichkeit vorhanden ist.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz