複製鏈接
請複製以下鏈接發送給好友

AppendMenu

鎖定
一種可以在指定的菜單條、下拉式菜單子菜單快捷菜單的末尾追加一個新菜單項的函數。
中文名
AppendMenu
函數功能
函數在指定的菜單條
函數原型
BOOL AppendMenu
參    數
hMenu

AppendMenu函數簡介

AppendMenu函數功能

該函數在指定的菜單條、下拉式菜單、子菜單或快捷菜單的末尾追加一個新菜單項。此函數可指定菜單項的內容、外觀和性能。函數AppendMenu己被lnsertMenultem取代。但如果不需要lnsertMenultem的擴展特性,仍可使用AppendMenu。

AppendMenu函數原型

BOOL AppendMenu(hMenu hMenu,UINT uFlags,UINT uIDNewltem,LPCTSTR lpNewltem);

AppendMenu參數

AppendMenuhMenu

將被修改的菜單條、下拉式菜單、子菜單、或快捷菜單的句柄。

AppendMenuUFlags

控制新菜單項的外觀和性能的標誌。此參數可以是備註裏所列值的組合。

AppendMenuUIDNewltem

指定新菜單項的標識符,或者當uFlags設置為MF_POPUP時,表示下拉式菜單或子菜單的句柄。

AppendMenuLpNewltem

指定新菜單項的內容。此參數的含義取決於參數uFlags是否包含MF_BITMAP, MF_OWNERDRAW或MF_STRING標誌,如下所示:

AppendMenuMF_BITMAP

含有位圖句柄。MF_STRING:以`\O’結束的字符串的指針

AppendMenuMF_OWNERDRAW

含有被應用程序應用的32位值,可以保留與菜單項有關的附加數據。當菜單被創建或其外觀被修改時,此值在消息WM_MEASUREITEM(&H2C)或WM_DRAWITEM(&H2B)的參數IParam指向的結構,成員itemData裏。
返回值:如果函數調用成功,返回非零值;如果函數調用失敗,返回值是零。若想獲得更多的錯誤信息,請調用GetLastError函數。
備註:一旦菜單被修改,無論它是否在顯示窗口裏,應用程序必須調用函數DrawMenuBar
為了使鍵盤加速鍵能控制位留或自己繪製的菜單項,菜單的擁有者必須處理WM_MENUCHAR消息。
參見自繪製菜單和WM_MENUCHAR消息。

AppendMenu其它

AppendMenu可被設置在參數uFlags裏的標誌

MF_BITMAP:將一個位圖用作菜單項。參數lpNewltem裏含有該位圖的句柄。
MF_CHECKED:在菜單項旁邊放置一個選取標記。如果應用程序提供一個選取標記,位圖(參見SetMenultemBitmaps),則將選取標記位圖放置在菜單項旁邊。
MF_DISABLED:使菜單項無效,使該項不能被選擇,但不使菜單項變灰。
MF_ENABLED:使菜單項有效,使該項能被選擇,並使其從變灰的狀態恢復。
MF_GRAYED:使菜單項無效並變灰,使其不能被選擇。
MF_MENUBARBREAK:對菜單條的功能同MF_MENUBREAK標誌。對下拉式菜單、子菜單或快捷菜單,新列和舊列被垂直線分開。
MF_MENUBREAK:將菜單項放置於新行(對菜單條),或新列(對下拉式菜單、子菜單或快捷菜單)且無分割列。
MF_OWNERDRAW:指定該菜單項為自繪製菜單項。菜單第一次顯示前,擁有菜單的窗口接收一個WM_MEASUREITEM消息來得到菜單項的寬和高。然後,只要菜單項被修改,都將發送WM_DRAWITEM消息給菜單擁有者的窗口程序。
MF_POPUP:指定菜單打開一個下拉式菜單或子菜單。參數uIDNewltem下拉式菜單或子菜單的句柄。此標誌用來給菜單條、打開一個下拉式菜單或於菜單的菜單項、子菜單或快捷菜單加一個名字。
MF_SEPARATOR:畫一條水平區分線。此標誌只被下拉式菜單、子菜單或快捷菜單使用。此區分線不能被變灰、無效或加亮。參數IpNewltem和uIDNewltem無用。
MF_STRING:指定菜單項是一個正文字符串;參數lpNewltem指向該字符串。
MF_UNCHECKED:不放置選取標記在菜單項旁邊(缺省)。如果應用程序提供一個選取標記位圖(參見SetMenultemBitmaps),則將選取標記位圖放置在菜單項旁邊。

AppendMenu不能一起使用的標誌組

MF_DISABLED,MF_ENABLED和MF_GRAYED;MF_BITMAP,MF_STRING和MF_OWNERDRAW
MF_MENUBARBREAK和MF_MENUBREAK;MF_CHECKED和MF_UNCHECKED
Windows CE環境下,不支持參數fuFlags使用下列標誌:
MF_BITMAP;MF_DOSABLE;MF_GRAYED
MF_GRAYED可用來代替MF_DISABLED和MFS_GRAYED。
Windows CE 1.0不支持層疊式菜單。在使用Windows CE 1.0時,不能將一個MF_POPUP菜單插入到另一個下拉式菜單中。Window CE 1.0不支持下列標誌:
MF_POPUP;MF_MENUBREAK;MF_MENUBARBREAK
Windows CE 2.0或更高版本中,支持上述標誌,也支持層疊式菜單。