![]() |
Re: PageControl - Tabs um Schließen-Symbol erweitern
Moin.
@toms, eine Frage dazu, was ist die Unit WinXP ? |
Re: PageControl - Tabs um Schließen-Symbol erweitern
Zitat:
|
Re: PageControl - Tabs um Schließen-Symbol erweitern
Cool wäre ja jetzt noch wenn man im leeren Bereich rechts neben den Tabs auf Doppelklick ein neues Tab öffnen könnte - so wie es im FireFox und mittlerweile auch einigen anderen Anwendungen funktioniert. Leider feuert in dem Bereich aber kein einziger Event:
* OnMouseDown + OnMouseUp reagieren nur auf den Tabs selbst, nicht aber in dem freien Bereich * OnMouseClick + OnDblClick gibt's gar nicht bei TPageControl * OnMouseActivate ist unbrauchbar für diesen Zweck und feuert auch dort nicht * Auch die darunterliegende Komponente feuert hier kein OnClick o.ä. (was auch eigentlich logisch ist, aber hätte ja sein können) Ideen? |
Re: PageControl - Tabs um Schließen-Symbol erweitern
Wird auch keine VCL-Interne Window Message verschickt? Ala CM_MOUSECLICK oder so?
|
Re: PageControl - Tabs um Schließen-Symbol erweitern
Oh, sofern ein Tab den Fokus hat wird bei Klick auf den freien Bereich die Message 45060 verschickt. Keine Ahnung welche das genau ist, WM_LBUTTONDOWN (513) ist es nicht.
|
Re: PageControl - Tabs um Schließen-Symbol erweitern
Hallo,
45060 -> $B004 Aus controls.pas: CM_BASE = $B000; CM_CANCELMODE = CM_BASE + 4; In OnMouseDown der Form kannst Du ermitteln ob ein Mousklick in dem Bereich stattgefunden hat:
Delphi-Quellcode:
OnMouseDown der Form feuert nicht wenn auf andere Bereiche des PageControl geklickt wird.
var aRect : TRect;
aPoint : TPoint; begin aRect := PasgeControl.ClientRect; aPoint := PasgeControl.ScreenToClient(ClientToScreen(Point(X,Y))); if PtInRect(aRect,aPoint) then //neben Reiter geklickt else //auf Form geklickt |
Re: PageControl - Tabs um Schließen-Symbol erweitern
Hey Lannes, Grüße nach Münster aus Nienberge (bzw. Neuenkirchen privat) :)
Bei mir feuert die Form kein OnMouseDown wenn ich auf eine Komponente - egal welche und egal an welcher Stelle ich klicke. (D11) (ähm, arbeitest du wirklich noch mit Delphi 3 (siehe dein Profil)?) |
Re: PageControl - Tabs um Schließen-Symbol erweitern
Kleiner EInwurfvon mir: die Jedis bieten eine schöne Komponente: TJvTabBar
|
Re: PageControl - Tabs um Schließen-Symbol erweitern
Zitat:
|
Re: PageControl - Tabs um Schließen-Symbol erweitern
Delphi-Quellcode:
//Notlösung, da kA wie man das TRect manuell setzt um den Reiter zu verbreitern:
PageControl1.Pages[PageIndex].Caption := PageControl1.Pages[PageIndex].Caption + ' ';
Delphi-Quellcode:
PageControl.TabWidth
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 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