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.