相關介紹
函式原型:BOOL TrackPopupMenu(HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, CONST RECT* prcRect);
參數一覽
hMenu:被顯示的快捷選單的句柄。此句柄可為調用CreatePopupMenu創建的新快捷選單的句柄,也可以為調用GetSubMenu取得的與一個已存在選單項相聯繫的子選單的句柄。
uFlags:一種指定功能選項的位標誌。用下列標誌位之一來確定函式如何水平放置快捷選單:
TPM_CENTERALIGN:若設定此標誌,函式將按參數x指定的坐標水平居中放置快捷選單。
TPM_LEFTALIGN:若設定此標誌,函式使快捷選單的左邊界與由參數X指定的坐標對齊。
TPM_RIGHTALIGN:若設定此標誌,函式使快捷選單的右邊界與由參數X指定的坐標對齊。
用下列標誌位之一來確定函式如何垂直放置快捷選單:
TPM_BOTTOMALIGN:若設定此標誌,函式使快捷選單的下邊界與由參數y指定的坐標對齊。
TPM_TOPALIGN:若設定此標誌,函式使快捷選單的上邊界與由參數y指定的坐標對齊。
TPM_VCENTERALIGN;若設定此標誌,函式將按參數y指定的坐標垂直居中放置快捷選單
用下列標誌位之一來確定在選單沒有父視窗的情況下用戶的選擇:
TPM_NONOTIFY:若設定此標誌,當用戶單擊選單項時函式不傳送通知訊息。
TPM_RETURNCMD;若設定此標誌;函式將用戶所選選單項的標識符返回到返回值里。
(注意:當TrackPopupMenu的返回值大於0,就說明用戶從彈出選單中選擇了一個選單。當不設定TPM_NONOTIFY和TPM_RETURNCMD時,程式給自己傳送了一個WM_COMMAND訊息,以返回的ID號為參數wParam的值)
用下列標誌位之一來確定在快捷選單跟蹤哪一個滑鼠鍵:
TPM_LEFTBUTTON:若設定此標誌,用戶只能用滑鼠左鍵選擇選單項。
TPM_RIGHTBUTTON:若設定此標誌,用戶能用滑鼠右鍵選擇選單項。
X:在螢幕坐標下,快捷選單的水平位置。
Y:在螢幕坐標下,快捷選單的垂直位置。
NReserved:保留值,必須為零。
HWnd:擁有快捷選單的視窗的句柄。此視窗接收來自選單的所有訊息。函式返回前,此視窗不接受來自選單的WM_COMMAND訊息。
如果在參數uFlags里指定了TPM_NONOTIFY值,此函式不向hWnd標識的視窗發訊息。 但必須給hWnd里傳一個視窗句柄,可以是應用程式里的任一個視窗句柄。
PrcRect:未用。
返回值:如果在參數uFlags里指定了TPM_RETURNCMD值,則返回值是用戶選擇的選單項的標識符。如果用戶未作選擇就取消了選單或發生了錯誤,則退回值是零。如果沒在參數uFlags里指定TPM_RETURNCMD值,若函式調用成功,返回非零值,若函式調用失敗,返回零。若想獲得更多的錯誤信息,請調用GetLastError
函式:
備註
備註:Windows CE不支持參數uFlags取下列值:TPM_NONOTIFY;TPM_LEFTBUTTON;TPM_RIGHTBUTTON。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案:winuser.h;輸入庫:user32.lib。