Einzelnen Beitrag anzeigen

KWin

Registriert seit: 27. Jun 2007
Ort: Sierning - AUT
10 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

FMX TabControl

  Alt 6. Mär 2017, 13:29
Hallo,

ich möchte auf einem TabControl/TabItem einen TButton zu erzeugen.
Die Position des Button (Position.X/Y) soll an der Stelle des Maus-Zeigers erfolgen.
Das ganze spielt sich via Drag and Drop ab.
Egal welches TabItem aktiv ist, es kommen alle OnDragDrop- Events beim TabControl an.
Ich bekomme im TabControl.OnDragDrop- Event die Mausposition innerhalb des TabControl.
Bei der Umrechnung auf die richtige Position des TabItem scheitere ich.

Hier der Code:

Delphi-Quellcode:
procedure TForm3.MyDragDrop(Sender: TObject; const Data: TDragObject; const Point: TPointF);
var
  MyTabCtrl : TTabControl;
  MyTab : TTabItem;
  NewPoint : TPointF;
begin
  if Sender is TControl then begin

    if Sender.InheritsFrom(TTabControl) then begin
      MyTabCtrl := TTabControl(Sender);
      MyTab := MyTabCtrl.ActiveTab;

      // hier möchte ich die aktuelle Maus- Position (Point)
      // auf die Position auf dem TabItem umrechnen
      NewPoint := MyTabCtrl.LocalToAbsolute(Point); // funtkioniert nicht!
      NewPoint := MyTabCtrl.AbsoluteToLocal(Point); // funtkioniert nicht!
      NewPoint := MyTab.LocalToAbsolute(Point); // funktioniert nicht!
      NewPoint := MyTab.AbsoluteToLocal(Point); // funktioniert nicht!

    end;

  end; // if Sender is TControl
end;
kann mir jemand weiter helfen

Danke!
Klaus
  Mit Zitat antworten Zitat