SetMenuItemBitmaps 関数 (winuser.h)

指定したビットマップをメニュー項目に関連付けます。 メニュー項目を選択するかクリアするかに関係なく、メニュー項目の横に適切なビットマップが表示されます。

構文

BOOL SetMenuItemBitmaps(
  [in]           HMENU   hMenu,
  [in]           UINT    uPosition,
  [in]           UINT    uFlags,
  [in, optional] HBITMAP hBitmapUnchecked,
  [in, optional] HBITMAP hBitmapChecked
);

パラメーター

[in] hMenu

種類: HMENU

新しいチェックマークビットマップを受け取る項目を含むメニューへのハンドル。

[in] uPosition

型: UINT

uFlags パラメーターによって決定される、変更するメニュー項目。

[in] uFlags

型: UINT

uPosition パラメーターの解釈方法を指定します。 uFlags パラメーターは、次のいずれかの値である必要があります。

説明
MF_BYCOMMAND
0x000000000L
uPosition がメニュー項目の識別子を指定することを示します。 MF_BYCOMMANDMF_BYPOSITIONも指定されていない場合は、MF_BYCOMMANDが既定のフラグです。
MF_BYPOSITION
0x00000400L
uPosition がメニュー項目の 0 から始まる相対位置を指定することを示します。

[in, optional] hBitmapUnchecked

種類: HBITMAP

メニュー項目が選択されていないときに表示されるビットマップへのハンドル。

[in, optional] hBitmapChecked

種類: HBITMAP

メニュー項目が選択されたときに表示されるビットマップへのハンドル。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

hBitmapUnchecked パラメーターまたは hBitmapChecked パラメーターが NULL の場合、対応するチェック状態のメニュー項目の横に何も表示されません。 両方のパラメーターが NULL の場合、項目を選択すると既定のチェックマークビットマップが表示され、項目が選択されていない場合はビットマップが削除されます。

メニューが破棄されると、これらのビットマップは破棄されません。それらを破棄するのはアプリケーション次第です。

選択したビットマップとクリア ビットマップはモノクロである必要があります。 システムでは、Boolean AND 演算子を使用してビットマップとメニューを組み合わせて、白い部分が透明になり、黒い部分がメニュー項目の色になります。 カラー ビットマップを使用する場合、結果が望ましくない可能性があります。

GetSystemMetrics 関数をSM_CXMENUCHECK値とSM_CYMENUCHECK値と共に使用して、ビットマップディメンションを取得します。

例については、「 メニューでのチェック ボックスのシミュレート」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

メニュー