AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MouseUp in Popupmenu

Ein Thema von osbos · begonnen am 26. Apr 2023 · letzter Beitrag vom 27. Apr 2023
Antwort Antwort
osbos

Registriert seit: 26. Apr 2023
2 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: MouseUp in Popupmenu

  Alt 27. Apr 2023, 17:06
Die MouseMessage abfangen habe ich auch schon versucht.
Mithilfe der ApplicationEvent Componente.
Delphi-Quellcode:
procedure TButVersForm.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
if msg.message=WM_LBUTTONUP then showmessage('UP');
end;
Das funktioniert bei allen Controls im Formular, aber nicht beim PopupMenu.
Vermutlich weil das aufgepopte Menu-Control kein Child des Hauptformulars ist, oder?
Gibt es noch eine Möglichkeit, alle Messages der Application abzufangen, egal welches Fenster/Control gemeint ist?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#2

AW: MouseUp in Popupmenu

  Alt 27. Apr 2023, 17:23
Beim Application.OnMessage kommen ausschließlich PostMessage vorbei, welche in der Haupt-Messagebehandlung (TApplication.ProcessMessage und .HandleMessage) abgerufen und behandelt werden.
Auch SendMessage werden direkt im PeakMessage/GetMessage verarbeitet und kommen ebenfalls nichts bis zum OnMessage raus.
Und Form.WndProc bekommt auch nichts mit, da Menüs und Popups eigenständige Fenster sind.

Das Menu.Popup ist wie ein MessageBox, welches im Windows seine eigene Messageloop benutzt und das Hauptprogramm so lange stoppt.

Hier kommt man ausschlielich über einen MessageHook dran,
oder z.B. wenn man das Popup ableitet und sich ins WndProc hängt.

Mal die VCLStyles für's Popup aktivieren ... vielleicht hat Emba da bereits einen perversen passenden Hook implementiert und leitet ihn zur VCL (Application) um.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Apr 2023 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MouseUp in Popupmenu

  Alt 27. Apr 2023, 19:37
Mglw ist das hier ein Ansatz: ein alter Sourcecode vom echten Peter Below, der auf Github konserviert wurde. Die Idee ist erkennbar, für aktuelle Delphine muß das "nur" neu geschrieben werden.
Ich habe die Entsprechung in Vcl.Menus gefunden.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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