![]() |
TSplitter mit Doppelklick ansprechen
Hallo zusammen,
Mein erster Gedanke war, auf die Message WM_LBUTTONDBLCLK und den Focus von TSplitter zu reagieren. Nur leider gibt es bei der Komponente keine Methode oder Property, die den Focus abfragt. Deshalb suche ich noch nach anderen Ideen, wie ich einen Doppelklick auf TSplitter abfangen kann und dann eine Aktion ausgeführt wird. |
Re: TSplitter mit Doppelklick ansprechen
TSplitter ist ein Kind von TControl
Also ableiten und Property veröffentlichen.
Delphi-Quellcode:
Und in Zukunft nicht so kompliziert denken ;)
TDblClickSplitter = Class(TSplitter)
published Property OnDblClick; End; |
Re: TSplitter mit Doppelklick ansprechen
Oder der übliche protected-friend-Trick:
Delphi-Quellcode:
type
THACK_Splitter = class(TSplitter); procedure TForm1.FormCreate(Sender: TObject); begin THACK_Splitter(Splitter1).OnDblClick := Splitter1DblClick; end; |
Re: TSplitter mit Doppelklick ansprechen
Danke erstmal für eure Antworten. Ich habe jetzt mal ein bisschen rumprobiert und ich bekomme es nicht zu laufen. Das mein aktuelles Beipsieli dafür :
Delphi-Quellcode:
Warum funktioniert das Beipsiel nicht ?
unit Unit8;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm8 = class(TForm) Panel1: TPanel; Panel2: TPanel; Splitter1: TSplitter; procedure FormCreate(Sender: TObject); private { Private declarations } procedure Splitter1DblClick(Sender: TObject); public { Public declarations } end; TDblClickSplitter = class(TSplitter); var Form8: TForm8; implementation {$R *.dfm} procedure TForm8.Splitter1DblClick(Sender: TObject); begin Panel1.Width := Round(Form8.Width / 2); end; procedure TForm8.FormCreate(Sender: TObject); begin TDblClickSplitter(Splitter1).OnDblClick := Splitter1DblClick; end; end. |
Re: TSplitter mit Doppelklick ansprechen
Zitat:
|
Re: TSplitter mit Doppelklick ansprechen
Zitat:
|
Re: TSplitter mit Doppelklick ansprechen
Seltsam. Funktioniert mit D6 / D2009.
|
Re: TSplitter mit Doppelklick ansprechen
Ich habe es mit einem RAD Studio 2007 ausprobiert. Mit 2007 funktioniert es nicht und mit Turbo Delphi Explorer funktioniert es wieder.
|
Re: TSplitter mit Doppelklick ansprechen
Zitat:
|
Re: TSplitter mit Doppelklick ansprechen
*push* Hat niemand eine Idee, warum es unter Delphi 6, Turbo Delphi und D2009 funktioniert und unter Delphi 2007 nicht ? *push*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 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