GetMenuState

指定したメニュー項目に関連付けられたメニューフラグを取得する。

GetMenuState hMenu, uId, uFlags

hMenu : [intptr] 型: HMENU フラグを取得するメニュー項目を含むメニューへのハンドル。
uId : [int] 型: UINT フラグを取得するメニュー項目。uFlags パラメータによって解釈が変わる。
uFlags : [int] 型: UINT

(プラグイン / モジュール : user32.dll)

解説

指定したメニュー項目に関連付けられたメニューフラグを取得する。

[戻り値]
型: UINT 指定された項目が存在しない場合、戻り値は -1
である。メニュー項目がサブメニューを開く場合、戻り値の下位バイトにはその項目に関連付けられたメニューフラグ、上位バイトには開かれるサブメニュー内の項目数が入る。そうでない場合、戻り値はメニューフラグのビットごとの
OR マスクである。以下にメニュー項目に関連付けられるメニューフラグを示す。
(以下省略)

[備考]
MF_ENABLED、MF_STRING、MF_UNCHECKED、MF_UNHILITE
のフラグ値をテストすることもできるが、これらの値は 0 であるため、単純なビット比較ではなく式を用いて判定する必要がある。
(以下省略)

情報

プラグイン / モジュールuser32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs