TrackPopupMenu - 函數功能該
函數在指定位置顯示快捷
菜單,并跟蹤菜單項的選擇??旖莶藛慰沙霈F在屏幕上的任何位置。
BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT”prcRect);
hMenu:被顯示的快捷菜單的
句柄。此句柄可為調用CreatePopupMenu創(chuàng )建的新快捷菜單的句柄,也可以為調用GetSubMenu取得的與一個(gè)已存在菜單項相聯(lián)系的子菜單的句柄。
uFlags:一種指定功能選項的位標志。用下列標志位之一來(lái)確定函數如何水平放置快捷菜單:
TPM_CENTERALLGN:若設置此標志,函數將按參數x指定的坐標水平居中放置快捷菜單。
TPM_LEFTALLGN:若設置此標志,函數使快捷菜單的左邊界與由參數X指定的坐標對齊。
TPM_RIGHTALLGN:若設置此標志,函數使快捷菜單的右邊界與由參數X指定的坐標對齊。
用下列標志位之一來(lái)確定函數如何垂直放置快捷菜單:
TPM_BOTTOMALLGN:若設置此標志,函數使快捷菜單的下邊界與由參數y指定的坐標對齊。
TPM_TOPALLGN:若設置此標志,函數使快捷菜單的上邊界與由參數y指定的坐標對齊。
TPM_VCENTERALLGN;若設置此標志,函數將按參數y指定的坐標垂直居中放置快捷菜單
用下列標志位之一來(lái)確定在菜單沒(méi)有父窗口的情況下用戶(hù)的選擇:
TPM_NONOTIFY:若設置此標志,當用戶(hù)單擊菜單項時(shí)函數不發(fā)送通知消息。
TPM_RETURNCMD;若設置此標志;函數將用戶(hù)所選菜單項的標識符返回到返回值里。
用下列標志位之一來(lái)確定在快捷菜單跟蹤哪一個(gè)
鼠標鍵:
TPM_LEFTBUTTON:若設置此標志,用戶(hù)只能用鼠標左鍵選擇菜單項。
TPM_RIGHTBUTTON:若設置此標志,用戶(hù)能用鼠標左、右鍵選擇菜單項。
X:在屏幕坐標下,快捷菜單的水平位置。
Y:在屏幕坐標下,快捷菜單的垂直位置。
NReserved:
保留值,必須為零。
HWnd:擁有快捷菜單的窗口的句柄。此窗口接收來(lái)自菜單的所有消息。函數返回前,此窗口不接受來(lái)自菜單的WM_COMMAND消息。
如果在參數uFlags里指定了TPM_NONOTIFY值,此函數不向hWnd標識的窗口發(fā)消息。 但必須給hWnd里傳一個(gè)窗口句柄,可以是應用程序里的任一個(gè)窗口句柄。
PrcRect:未用。
返回值:如果在參數uFlags里指定了TPM_RETURNCMD值,則返回值是用戶(hù)選擇的菜單項的標識符。如果用戶(hù)未作選擇就取消了菜單或發(fā)生了錯誤,則退回值是零。如果沒(méi)在參數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。