共用方式為


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
0x00000000L
表示 uPosition 會提供功能表項目的識別碼。 如果未指定 MF_BYCOMMANDMF_BYPOSITION則MF_BYCOMMAND 為預設旗標。
MF_BYPOSITION
0x00000400L
表示 uPosition 會提供功能表項目以零起始的相對位置。

[in, optional] hBitmapUnchecked

類型: HBITMAP

未選取功能表項目時所顯示的點陣圖控制碼。

[in, optional] hBitmapChecked

類型: HBITMAP

選取功能表項目時所顯示的點陣圖控制碼。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果 hBitmapUncheckedhBitmapChecked 參數為 Null,則系統會在對應檢查狀態的功能表項目旁邊顯示任何專案。 如果這兩個參數都是 Null,則系統會在選取專案時顯示預設核取記號點陣圖,並在未選取專案時移除點陣圖。

當功能表終結時,這些點陣圖不會終結;應用程式必須終結它們。

選取和清除的點陣圖應該是單色。 系統會使用布林值 AND 運算子來結合點陣圖與功能表,讓白色部分變成透明,而黑色部分會變成功能表項目色彩。 如果您使用色彩點陣圖,則結果可能不想要。

使用 GetSystemMetrics 函式搭配 SM_CXMENUCHECKSM_CYMENUCHECK 值來擷取點陣圖維度。

範例

如需範例,請參閱 模擬功能表中的核取方塊

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll

另請參閱

功能表