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/)
-   -   Delphi TTrackbar mit Doppelklick nachrüsten? (https://www.delphipraxis.net/93052-ttrackbar-mit-doppelklick-nachruesten.html)

OldGrumpy 30. Mai 2007 22:27


TTrackbar mit Doppelklick nachrüsten?
 
Hallo zusammen,

Ich hab mal wieder ein obskures Problem. Ich wollte einer Trackbar die Reaktion auf einen Doppelklick beibringen, hab dazu meine eigene Klasse von TTrackBar abgeleitet, eine Procedure dafür angelegt die die Message WM_LBUTTONDBLCLK behandeln soll, das ganze in eine Komponente gepackt, in eine Testapplikation eingebaut und... geht nicht :(

Nach etwas Wühlen habe ich dann rausgefunden dass TTrackbar im Endeffekt von TControl abgeleitet ist und TControl einen eigenen Handler für diese Message installiert. Wenn ich die entsprechenden Beschreibungen hier im Forum zu ähnlichen Fällen richtig interpretiert habe, sollte es aber möglich sein, eine eigene Procedure gleichen Namens zu benutzen und so trotzdem die entsprechende Message selber zu behandeln? Meine Testversion der eigenen Trackbar besteht wirklich nur aus dem Gerüst das Delphi einem vorbereitet und dem Handler für WM_LBUTTONDBLCLK, eigentlich sollte das doch funktionieren, oder?

OldGrumpy 30. Mai 2007 22:44

Re: TTrackbar mit Doppelklick nachrüsten?
 
Auch wenn sich selber antworten doof ist, so finde ich es doch übersichtlicher, die Lösung die ich gerade in der Newsgroup borland.public.delphi.language.delphi.general via Google gefunden habe hier separat zu posten:

Es ist ganz simpel folgender zusätzlicher Code notwendig:

Delphi-Quellcode:
//interface-teil
public
  constructor Create(AOwner: TComponent); override;
[...]
//implementation-teil

constructor TMyTrackBar.Create(AOwner: TComponent);
begin
  inherited;
  Controlstyle := ControlStyle + [csDoubleClicks];
end;
Zu meiner Verteidigung sei gesagt dass ich vorher ausführlich Google und die Forensuche gequält habe, aber manchmal ist halt der Wurm drin :mrgreen:


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