AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein PopupMenü suchen...finden...ändern...reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

PopupMenü suchen...finden...ändern...reagieren

Ein Thema von golisan · begonnen am 25. Jun 2012
Antwort Antwort
golisan

Registriert seit: 17. Jan 2007
43 Beiträge
 
Delphi 2007 Professional
 
#1

PopupMenü suchen...finden...ändern...reagieren

  Alt 25. Jun 2012, 12:53
Hallo Leute,

bevor mir jemand vorwirft, dass ich die gleiche Frage bereits 2007 gepostet habe... ja habe ich.
Aber damals bin ich auch zu keinem Ergebnis gekommen, deshalb versuche ich es erneut.

Ich möchte das Popupmenü(Kontextmenü) einer fremden Anwendung erweitern.
Es handelt sich um eine MDI-Anwendung.(konkrekt NATURAL Studio, Entwicklungsumgebung für die Sprache NATURAL(wird wohl keiner kennen ) )
Winspector zeigt mir folgende Fensterhirachie:

1. NIDEWindowClass
2. PgmEdtMDIWin
3. PgmEditGroup
4. PgmEdtEditWin

Ich bin schon soweit, dass ich hier die Windows-Botschaften abfangen muss. Das ganze mache
ich mit einem globalen Hook.
Das tut schon mal. Ich komme aber nicht ganz mit der Reihenfolge der Nachrichten zurecht.
Drücke ich die rechte Maustaste bekommt das Fenster NIDEWindowClass die Nachricht WM_INITMENUPOPUP.
Danach bekommt PgmEdtMDIWin die Nachricht WM_CONTEXTMENU
Laut msdn steht
WM_INITMENUPOPUP wParam das Handle des Menüs.
WM_CONTEXTMENU wParam das Handle des Fensters in dem die rechte Maustaste gedrückt wurde.

Ich bekomme also zuerst gesagt, dass ein Popup erscheinen wird und dann erst welches Fenster der "Auslöser"
war. Umgekehrt wäre es mir lieber.

Das Problem ist, dass es unterschiedliche Kontextmenüs geben kann. Je nachdem welchen Inhalt der Programeditor hat,
ändert sich das PopupMenü.
Ich möchte aber nur auf bestimmte Kontextmenüs reagieren.

Wie mache ich das?

Zusätzlich stellt sich dann die Herausforderung, damit ich das Kontextmenü um Einträge erweitern kann, muss ich erst an den
Editorinhalt kommen(und analysieren), welcher in PgmEdtEditWin steht



Im Prinzip müsste es so laufen:

1. Hook bekommt die Nachricht: ein Kontextmenü soll geöffnet werden
2. Ist es das Menü um das es mir geht, wenn Nein-> Exit
3. Ermitteln des Editorinhaltes
4. Menüeinträge anhängen

und später dann noch auf die Auswahl dieser Einträge reagieren... aber das erst später

Hat jemand einen Tipp?

Danke schon mal.
  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 00:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz