Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TTabControl - angeklickten Reiter erkennen (https://www.delphipraxis.net/190652-ttabcontrol-angeklickten-reiter-erkennen.html)

idefix2 22. Okt 2016 15:30

TTabControl - angeklickten Reiter erkennen
 
Hallo, ich würde gerne zu einem TTabcontrol ein Kontextmenü erstellen. Allerdings sollte die aufgerufenen Routinen irgendwie mitbekommen, welcher Reiter angeklickt worden ist. Über die Property TPopupmenu scheint das nicht zu gehen, weil da bekomme ich die Informationen gar nicht, wohin geklickt worden ist (oder geht das doch irgendwie?).
Aber auch wenn ich mit onmousedown oder dergleichen arbeite und die Mausposition kenne - wie finde ich heraus, zu welchem Reiter eine bestimmte Mausposition gehört?

Jim Carrey 22. Okt 2016 15:31

AW: TTabControl - angeklickten Reiter erkennen
 
Ich mache das so

Delphi-Quellcode:
procedure TForm1TabControl1ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin
 showmessage(TabControl1.Tabs[TabControl1.IndexOfTabAt(MousePos.X, MousePos.Y)]);
end;

t.roller 22. Okt 2016 16:01

AW: TTabControl - angeklickten Reiter erkennen
 
Delphi-Quellcode:
procedure TForm1.TabControl1Change(Sender: TObject);
var index : integer;
begin
Caption:= TabControl1.Tabs[TabControl1.TabIndex];
end;

Jim Carrey 22. Okt 2016 16:02

AW: TTabControl - angeklickten Reiter erkennen
 
Das mit dem TabIndex würde ich nicht machen.

Denn angenommen man klick RECHTS (Kontextmenu, was er ja möchte) auf einen Tab der nicht der aktive Tab ist, so ist das Ergebnis falsch.

idefix2 22. Okt 2016 17:55

AW: TTabControl - angeklickten Reiter erkennen
 
Danke, genau so etwas habe ich gesucht, und in der endlosen Liste der Properties prompt übersehen. :oops:
Mit tabindex geht es nämlich, genau aus dem Grund, den du genannt hast, nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 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