功能表 (功能表和其他資源)

本節說明功能表,並說明如何使用它們。

本節內容

名稱 描述
關於功能表 討論功能表。
使用功能表 提供與功能表相關的工作程式碼範例。
功能表參考 包含 API 參考。
名稱 描述
AppendMenu 將新專案附加至指定功能表列的結尾、下拉式功能表、子功能表或快捷方式功能表。 您可以使用此函式來指定功能表項目的內容、外觀和行為。
CheckMenuItem 將指定功能表項目的核取記號屬性的狀態設定為選取或清除。
CheckMenuRadioItem 檢查指定的功能表項目,並將其設定為單選項目。 同時,函式會清除相關聯群組中的所有其他功能表項目,並清除這些專案的單選項目類型旗標。
CreateMenu 建立功能表。 功能表一開始是空的,但可以使用InsertMenuItem、AppendMenuInsertMenu函式填入功能表項目。
CreatePopupMenu 建立下拉式功能表、子功能表或快捷方式功能表。 功能表一開始是空的。 您可以使用 InsertMenuItem 函式來插入或附加功能表項目。 您也可以使用 InsertMenu 函式來插入功能表項目,以及 AppendMenu 函數來附加功能表項目。
DeleteMenu 從指定的功能表刪除專案。 如果功能表項目開啟功能表或子功能表,此函式會終結功能表或子功能表的控制碼,並釋放功能表或子功能表所使用的記憶體。
DestroyMenu 終結指定的功能表,並釋放功能表佔用的任何記憶體。
DrawMenuBar 重新繪製指定視窗的功能表列。 如果功能表列在系統建立視窗之後變更,則必須呼叫此函式來繪製變更的功能表列。
EnableMenuItem 啟用、停用或呈現指定功能表項目的灰色。
EndMenu 結束呼叫執行緒的作用中功能表。
GetMenu 擷取指派給指定視窗之功能表的控制碼。
GetMenuBarInfo 擷取指定功能表列的相關資訊。
GetMenuCheckMarkDimensions 擷取預設核取記號點陣圖的維度。 系統會在選取的功能表項目旁邊顯示這個點陣圖。 呼叫 SetMenuItemBitmaps 函式以取代功能表項目的預設核取記號點陣圖之前,應用程式必須呼叫 GetMenuCheckMarkDimensions來判斷正確的點陣圖大小。
GetMenuDefaultItem 決定指定功能表上的預設功能表項目。
GetMenuInfo 擷取指定功能表的相關資訊。
GetMenuItemCount 擷取指定功能表中的專案數。
GetMenuItemID 擷取位於功能表中指定位置之功能表項目的功能表項目識別碼。
GetMenuItemInfo 擷取功能表項目的相關資訊。
GetMenuItemRect 擷取指定功能表項目的周框。
GetMenuState 擷取與指定功能表項目相關聯的功能表旗標。 如果功能表項目開啟子功能表,此函式也會傳回子功能表中的專案數。
GetMenuString 將指定功能表項目的文字字串複製到指定的緩衝區。
GetSubMenu 擷取由指定功能表項目啟動之下拉式功能表或子功能表的控制碼。
GetSystemMenu 可讓應用程式存取視窗功能表 (也稱為系統功能表或控制項功能表) 進行複製和修改。
HiliteMenuItem 醒目提示或移除功能表列中專案的醒目提示。
InsertMenuItem 在功能表中的指定位置插入新的功能表項目。
IsMenu 判斷控制碼是否為功能表控制碼。
LoadMenu 從與應用程式實例相關聯的可執行檔 (.exe) 檔案載入指定的功能表資源。
LoadMenuIndirect 在記憶體中載入指定的功能表範本。
MenuItemFromPoint 判斷位於指定位置的功能表項目。
ModifyMenu 變更現有的功能表項目。 此函式可用來指定功能表項目的內容、外觀和行為。
RemoveMenu 刪除功能表項目,或從指定的功能表中斷連結子功能表。 如果功能表項目開啟下拉式功能表或子功能表, RemoveMenu 不會終結功能表或其控制碼,允許重複使用功能表。 呼叫此函式之前, GetSubMenu 函式應該會擷取下拉式功能表或子功能表的控制碼。
SetMenu 將新功能表指派給指定的視窗。
SetMenuDefaultItem 設定指定功能表的預設功能表項目。
SetMenuInfo 設定指定功能表的資訊。
SetMenuItemBitmaps 將指定的點陣圖與功能表項目產生關聯。 無論選取或清除功能表項目,系統都會顯示功能表項目旁的適當點陣圖。
SetMenuItemInfo 變更功能表項目的相關資訊。
TrackPopupMenu 在指定的位置顯示快捷方式功能表,並追蹤功能表上的專案選取範圍。 快顯功能表可以出現在畫面上的任何位置。
TrackPopupMenuEx 在指定的位置顯示快捷方式功能表,並追蹤快捷方式功能表上的專案選取範圍。 快顯功能表可以出現在畫面上的任何位置。

下列函式已過時。

名稱 描述
InsertMenu 將新的功能表項目插入功能表,將其他專案向下移動功能表。 注意:InsertMenu 函式已取代InsertMenuItem函式。 不過,如果您不需要InsertMenuItem的任何擴充功能,您仍然可以使用InsertMenu
名稱 描述
WM_COMMAND 當使用者從功能表選取命令專案、控制項將通知訊息傳送至其父視窗,或翻譯快速鍵按鍵時傳送。
WM_CONTEXTMENU 通知視窗使用者按一下滑鼠右鍵 (在視窗中按一下 滑鼠 右鍵) 。
WM_ENTERMENULOOP 通知應用程式的主視窗程式,功能表強制回應迴圈已輸入。
WM_EXITMENULOOP 通知應用程式的主視窗程式,功能表強制回應迴圈已結束。
WM_GETTITLEBARINFOEX 傳送至要求擴充標題列資訊。 視窗會透過其 WindowProc 函式接收此訊息。
WM_MENUCOMMAND 當使用者從功能表進行選取時傳送。
WM_MENUDRAG 當使用者拖曳功能表項目時,傳送至拖放功能表的擁有者。
WM_MENUGETOBJECT 當滑鼠游標進入功能表項目或從專案的中央移至專案的頂端或底部時,傳送至拖放功能表的擁有者。
WM_MENURBUTTONUP 當使用者在游標位於功能表項目時放開滑鼠右鍵時傳送。
WM_NEXTMENU 當使用向右鍵或向左鍵在功能表列與系統功能表之間切換時,傳送至應用程式。
WM_UNINITMENUPOPUP 當下拉功能表或子功能表已終結時傳送。
名稱 描述
MDINEXTMENU 包含要啟動之功能表的相關資訊。
MENUBARINFO 包含功能表列資訊。
MENUEX_TEMPLATE_HEADER 定義擴充功能表範本的標頭。 此結構定義僅供說明;它不存在於任何標準標頭檔中。
MENUEX_TEMPLATE_ITEM 定義延伸功能表範本中的功能表項目。 此結構定義僅供說明;它不存在於任何標準標頭檔中。
MENUGETOBJECTINFO 包含滑鼠游標所在的功能表相關資訊。
MENUINFO 包含功能表的相關資訊。
MENUITEMINFO 包含功能表項目的相關資訊。
MENUITEMTEMPLATE 定義功能表範本中的功能表項目。
MENUITEMTEMPLATEHEADER 定義功能表範本的標頭。 完整的功能表範本包含標頭和一或多個功能表項目清單。
TPMPARAMS 包含 TrackPopupMenuEx 函式的擴充參數。