![]() |
WMNCHitTest, genaue Erklärung
Kann mir jemand genau Erklären, wann die Sache mit WMNCHitTest funktioniert und wann nicht ?
Habe meine eigene Statusbar in einem Frame und diese auf dem Formular. In der Message WMNCHitTest mache ich nun foglendes :
Delphi-Quellcode:
... damit ich rechts unten das Formular vergrössern kann.
var
Pt: TPoint; begin inherited; if (Message.Result = HTCLIENT) then begin Pt := ScreenToClient(SmallPointToPoint(Message.Pos)); if PtInRect(GripperRect, Pt) then Message.Result := HTBOTTOMRIGHT; end; Ab und zu habe ich dann folgendes Phänomen, das ich zwar denn Curser zum Vergrößern bekomme, aber wnn ich darnn ziehe, dann wird die Statusbar selbst vergrößert (Per Debugger habe ich geprüft, das diese Zeilen auch ausgeführt werden) Jetzt, wo ich diesen Beitrag verfasst habe, funktionierts wieder überall. Kann mir jemand erklären, wann bzw. wie das dann genau funktioniert, warum ist dieses HITTest fürs Form bestimmt und nicht für die Statusbar oder das Frame ? (Wo kann man eisntellen, welches Controll vergrößert werden kann ?) |
Re: WMNCHitTest, genaue Erklärung
Da auch die Statusbar vermutlich eine NCA (NonClient-Area) hat, wirst du beim Vergrößern der Statusbar vermutlich versehentlich genau diese treffen. Du müßtest also auch noch den Sender der Nachricht überprüfen, denke ich mal.
|
Re: WMNCHitTest, genaue Erklärung
@Olli:
Der Sender muß doch die Statusbar sein, da ja diese die Message bekommt und dann den Result zurückgibt. Die Message ist ja in der TMyStatusbar definiert (und nicht in der Form) Also, entweder, oder ich bin jetzt noch verwirrter als vorher. |
Re: WMNCHitTest, genaue Erklärung
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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 by Thomas Breitkreuz