![]() |
Rechtsklick auf Tab aktiviert Tab
Hi,
schlagt mich nicht, wenn wir das schon mal hatten: ich hab gesucht, aber nichts gefunden... Also: wenn ich einem TabControl (PageControl in meinem Fall) ein PopUp-Menü zuweise, dann wird dieses ja immer geöffnet, wenn ich rechts auf einen Tab klicke (in der Registerliste). Wie kann ich es nun so entwickeln, dass, wenn ich nun rechts draufklicke, der rechts-geklickte Tab aktiviert wird? Chris |
Re: Rechtsklick auf Tab aktiviert Tab
Hi,
Hast du eine Lösung gefunden? Sonst kann ich dir morgen eine geben... |
Re: Rechtsklick auf Tab aktiviert Tab
Hi, ich hatte ma das hier gefunden
Delphi-Quellcode:
function TfmMain.InRect(X, Y: Integer; R: TRect): Boolean;
begin Result:=(X>=R.Left) and (X<=R.Right) and (Y>=R.Top) and (Y<=R.Bottom) end;
Delphi-Quellcode:
function TfmMain.GetTabSheet(PageControl: TPageControl; Position: TPoint): TTabSheet;
var iCnt: Integer; begin Result:=nil; iCnt:=0; while (iCnt<=PageControl.PageCount-1) and not (InRect(Position.X,Position.Y,PageControl.TabRect(iCnt))) do Inc(iCnt); if iCnt<PageControl.PageCount then Result:=PageControl.Pages[iCnt] end;
Delphi-Quellcode:
Ich hoffe, dass es dir hilft.
procedure TfmMain.PageControlContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
var TabSheet : TTabSheet; begin TabSheet:=GetTabSheet(PageControl,MousePos); if TabSheet<>nil then PageControl.ActivePage:=TabSheet; //Nur<>nil wenn im TabRect geklickt wurde !!! end; Bis dennsen |
Re: Rechtsklick auf Tab aktiviert Tab
habe im moment das gleiche problem wie der thread-starter.
die lösung von SebE empfinde ich doch als zu arg getrickst. geht das nicht irgendwie "richtig"? es gibt doch sogar einen grafischen mouseover effekt für die tabs. wenn man noch abfragen könnte, zu welchem tab dieses mouseover gehört, wäre das anwählen von diesem ja kein problem mehr. |
Re: Rechtsklick auf Tab aktiviert Tab
es gibt:
Delphi-Quellcode:
und dazu gibt es (OH):
procedure TFoFileTrans.ReAusgabeMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz