AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Index des markierten Menüeintrags ohne "MenuItemFromPoint"
Thema durchsuchen
Ansicht
Themen-Optionen

Index des markierten Menüeintrags ohne "MenuItemFromPoint"

Ein Thema von franz · begonnen am 1. Feb 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#1

Index des markierten Menüeintrags ohne "MenuItemFromPoi

  Alt 1. Feb 2004, 22:24
Hi,

ich habe folgende Frage: Wie kann man den Index von Menüeinträgen in Popupmenüs ermitteln, ohne „MenuItemFromPoint“ zu verwenden? Also wenn der Benutzer z. B. einen Menüeintrag mit der Tastatur ansteuert.

Neugierig zu was ich es einsetzten möchte?

[edit=Luckie]Titel korrigiert. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#2

Re: Index des markierten Menüeintrags ohne "MenuItemFro

  Alt 12. Feb 2004, 22:41
Hat wirklich keiner einer Idee?
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#3

Re: Index des markierten Menüeintrags ohne "MenuItemFro

  Alt 14. Feb 2004, 19:08
Code:
UINT GetMenuState(          HMENU hMenu,
    UINT uId,
    UINT uFlags
);
Auf MF_HILITE testen?!? Sollte doch gehen, oder?
  Mit Zitat antworten Zitat
franz

Registriert seit: 23. Dez 2003
Ort: Bad Waldsee
112 Beiträge
 
Delphi 5 Professional
 
#4

Re: Index des markierten Menüeintrags ohne "MenuItemFro

  Alt 16. Feb 2004, 22:44
8) Hi,

damit ging es leider nicht. Aber ich habe jetzt eine andere Möglichkeit gefunden, in der „GetMenuItemInfo“ verwendet wird und die Menüeinträge in einer Schleife abgefragt werden.

Delphi-Quellcode:
function GetMenuSelPos(Menu: HMENU): Integer;
var
  iCount, ix: Integer;
  mInfo: tagMenuItemInfo;
begin
  Result := 0;

  mInfo.cbSize := SIZEOF(TMenuItemInfo);
  mInfo.fMask := MIIM_STATE;

  iCount := GetMenuItemCount(Menu);
  ix := 0;
  while ix < iCount do
    begin
      if (GetMenuItemInfo(Menu,ix,true,mInfo)) and
         (mInfo.fState and MF_HILITE > 0) then
         begin
           Result := ix;
           Break;
         end;
      Inc(ix);
    end;
end;
“GetMenuSelPos“ gibt den Index des markierten Menüeintrags zurück, der sich direkt in dem Menü befindet, das in „Menu: HMENU“ angegeben wird.
  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 07:21 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