Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Panthrax,
19. Feb 2010
"If an application processes this message, it should return zero." -- Zu Deutsch: Wenn eine Anwendung diese Nachricht verarbeitet, sollte sie Null zurückgeben."
Wenn (1) Message: TMessage.Result nun dieser Rückgabewert ist, (2) dieser Rückgabewert nicht Null ist und (3) die Anwendung die Nachricht verarbeitet hat, dann widerspricht sich das doch!?
Nun ist "sollte zurückgeben" ("should...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Panthrax,
19. Feb 2010
Argh, danke, richtig. TMessage <> TMsg. Daran habe ich nicht mehr gedacht, und weil Dispatch(var Message) ohne Typ deklariert ist, ist es mir auch nicht aufgefallen, und in TMsg gibt es kein Feld Result o.ä.
Für WMMouseWheel scheint Message: TMessage.Result = 1 zu sein, wenn das Steuerelement gescrollt hat. Ich habe es mit Memos und einer Taste probiert. Das scheint zu funktionieren, jetzt...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Panthrax,
17. Feb 2010
WM_MouseWheel löst das Scrollen aus, und normalerweise, egal wo die Maus ist, scrollt das Steuerelement mit dem Fokus.
Ich möchte aber erreichen, das WM_MouseWheel an das Steuerelement unter der Maus umgeleitet wird, damit dieses Steuerelement scrollen kann (auch ohne Fokus). Jetzt wäre es gut zu wissen, ob das Element unter der Maus überhaupt mit dieser Nachricht etwas anfangen kann (Variante...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Panthrax,
17. Feb 2010
Hallo.
Mit TObject.Dispatch(...) kann man Nachrichten versenden. Hat man irgendeine Möglichkeit herauszufinden, ob diese von irgendjemandem entgegengenommen wurde?
In meinem Fall versende ich eine (abgefange) WM_MouseWheel-Nachricht an ein TWinControl-Objekt, à la: WinControl.Dispatch(Msg); Das Abfangen ist nur sinnvoll, wenn WinControl in der Lage ist, die WM_MouseWheel-Nachricht zu...