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 會提供功能表項目以零起始的相對位置。 |
[in, optional] hBitmapUnchecked
類型: HBITMAP
未選取功能表項目時所顯示的點陣圖控制碼。
[in, optional] hBitmapChecked
類型: HBITMAP
選取功能表項目時所顯示的點陣圖控制碼。
傳回值
類型: BOOL
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果 hBitmapUnchecked 或 hBitmapChecked 參數為 Null,則系統會在對應檢查狀態的功能表項目旁邊顯示任何專案。 如果這兩個參數都是 Null,則系統會在選取專案時顯示預設核取記號點陣圖,並在未選取專案時移除點陣圖。
當功能表終結時,這些點陣圖不會終結;應用程式必須終結它們。
選取和清除的點陣圖應該是單色。 系統會使用布林值 AND 運算子來結合點陣圖與功能表,讓白色部分變成透明,而黑色部分會變成功能表項目色彩。 如果您使用色彩點陣圖,則結果可能不想要。
使用 GetSystemMetrics 函式搭配 SM_CXMENUCHECK 和 SM_CYMENUCHECK 值來擷取點陣圖維度。
範例
如需範例,請參閱 模擬功能表中的核取方塊。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |