![]() |
Doppelclick in einem Panel der Statusbar erkennen
Hallo,
ich habe hier eine Statusbar mit drei Panel. Ich möchte hier erkennen, wenn der Benutzer im zweiten Statuspanel einen doppelclick macht. Wie kan ich erkennen, in welchem Panel der Doppelclick gemacht wurde ? |
Re: Doppelclick in einem Panel der Statusbar erkennen
Selbst berechnen über die Left-Position der Statusbar + breiten der einzelnen Abschnitte.
|
Re: Doppelclick in einem Panel der Statusbar erkennen
...oder indem du dieses DblClick Ereignis nachrüstest:
Delphi-Quellcode:
unit MyStatusBar;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls; const WM_PANELDBLCLICK = WM_USER + $501; type TPanelClickEvent = procedure(Sender: TObject; PanelIndex: Integer) of object; TMyStatusBar = class(TStatusBar) private FOnPanelDblClick: TPanelClickEvent; procedure CNNotify(var Message: TWMNotify); message CN_NOTIFY; procedure WMPanelDblClick(var Message: TMessage); message WM_PANELDBLCLICK; published property OnPanelDblClick: TPanelClickEvent read FOnPanelDblClick write FOnPanelDblClick; end; procedure Register; implementation uses CommCtrl; procedure Register; begin RegisterComponents('Misc Components', [TMyStatusBar]); end; { TMyStatusBar } procedure TMyStatusBar.CNNotify(var Message: TWMNotify); begin inherited; with Message do begin case NMHdr^.code of NM_DBLCLK: with PNMMouse(NMHdr)^ do begin Result := 1; PostMessage(Handle, WM_PANELDBLCLICK, dwItemSpec, 0); end; end; end; end; procedure TMyStatusBar.WMPanelDblClick(var Message: TMessage); begin inherited; if Assigned(FOnPanelDblClick) then FOnPanelDblClick(Self, Message.wParam); end; end. |
Re: Doppelclick in einem Panel der Statusbar erkennen
Ok,
danke für die Antwort |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:03 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