![]() |
"StatusPanel.Click"
Leider verfügt das StatusPanel ja über kein Click-Ereignis. Gibt es eine Möglichkeit auf Clicks auf ein StatusPanel zu reagieren?
|
Re: "StatusPanel.Click"
Hallo FriFra,
du könntest das OnClick-Ereignis der StatusBar behandeln und dort aus den Mauskoordinaten einen Zeiger auf das Panel ermitteln:
Delphi-Quellcode:
Gruß Hawkeye
// uses CommCtrl
function GetStatusPanelAt (SB: TCustomStatusBar; P: TPoint): TStatusPanel; var i : Integer; R : TRect; begin P := SB.ScreenToClient(P); i := 0; Result := nil; while ((i < SB.Panels.Count) and (Result = nil)) do begin SendMessage(SB.Handle, SB_GETRECT, i, Integer(@R)); if PtInRect(R, P) then Result := SB.Panels[i]; Inc (i); end; end; procedure TForm1.StatusBar1Click (Sender: TObject); var P : TStatusPanel; begin P := GetStatusPanelAt(StatusBar1, Mouse.CursorPos); if Assigned(P) then ShowMessage (P.GetNamePath); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 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