## 函數名稱
###函數功能
>[info]在指定位置顯示快捷菜單,并跟蹤菜單項的選擇。快捷菜單可出現在屏幕上的任何位置。
* * * * *
###易語言聲明
~~~
.版本 2
.DLL命令 TrackPopupMenu, 整數型, "user32.dll"
.參數 hMenu, 整數型
.參數 wFlags, 整數型
.參數 x, 整數型
.參數 y, 整數型
.參數 nReserved, 整數型
.參數 hwnd, 整數型
.參數 lprc, 整數型
~~~
* * * * *
### 參數表
* 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。
* * * * *
###函數用例
(暫無)
* * * * *
###參考文檔
(暫無)