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 パラメーターは、次のいずれかの値である必要があります。
値 | 説明 |
---|---|
|
uPosition がメニュー項目の識別子を指定することを示します。 MF_BYCOMMANDもMF_BYPOSITIONも指定されていない場合は、MF_BYCOMMANDが既定のフラグです。 |
|
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 |