AGB  ·  Datenschutz  ·  Impressum  







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

PopupMenu für ein MenuItem

Ein Thema von Codehunter · begonnen am 19. Aug 2011 · letzter Beitrag vom 22. Aug 2011
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#1

AW: PopupMenu für ein MenuItem

  Alt 19. Aug 2011, 15:07
Ich kann mich erinnern, die haben es mal FALSE_FAULT genannt. Ist aber Wurscht

Woran ich mir jetzt noch die Zähne ausbeiße ist, herauszufinden, auf welchem MenuItem die rechte Maustaste gedrückt wurde. WM_MENURBUTTONUP liefert nur das Handle des Menüs, im dem der Item steckt, mehr nicht.

EDIT: Laut PSDK müßte MenuItemFromPoint einen Rückgabewert vom Typ int haben, in Delphi 7 ist es aber als LongBool implementiert

Geändert von Codehunter (19. Aug 2011 um 15:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#2

AW: PopupMenu für ein MenuItem

  Alt 22. Aug 2011, 08:25
Ich schubs den Thread noch mal nach oben. Inzwischen bin ich so weit gekommen dass ich MenuItemFromPoint am Laufen habe. Es liefert mir einen absoluten Index des MenuItem im betreffenden TMainMenu. Nur wie komme ich von dem absoluten Index auf den konkreten MenuItem in der hierarchischen Struktur von TMainMenu?
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#3

AW: PopupMenu für ein MenuItem

  Alt 22. Aug 2011, 09:44
Das ist ziemlich simpel:

Hier ein Beispiel, das die Caption des MenuItems in die Caption des Formulars schreibt.
Delphi-Quellcode:
procedure WMMENURBUTTONUP(var Message: TMessage); message WM_MENURBUTTONUP;
//...
procedure TForm58.WMMENURBUTTONUP(var Message: TMessage);
begin
  Caption := MainMenu1.FindItem(Message.LParam, fkHandle)[Message.wParam].Caption;
  inherited;
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  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 02:52 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