CMenu::TrackPopupMenu
Kayan açılır menüsünde belirtilen konumda görüntüler ve açılır menüsündeki öğelerin seçimini izler.
BOOL TrackPopupMenu(
UINT nFlags,
int x,
int y,
CWnd* pWnd,
LPCRECT lpRect = 0
);
Parametreler
nFlags
Ekran konumunu ve fare konumuna bayrakları belirtir. Bkz: TrackPopupMenu kullanılabilir bayrakların bir listesi için.x
Açılır menü ekran koordinatları yatay konumunu belirtir. Değerine bağlı olarak nFlags parametresi, menüyü sola hizalı, sağa hizalanmış veya ortalanmış bu konumla olabilir.y
Ekranda menünün üst kısmında Ekran koordinatlarındaki dikey konumunu belirtir.pWnd
Sahibi açılır menü penceresi tanımlar. Bu parametre olamaz nullbile, TPM_NONOTIFY bayrağı belirtilir. Bu pencere tüm alır wm_command menüsünden iletileri. Windows 3.1 ve daha sonraki sürümleri, not alma penceresi wm_command kadar iletileri TrackPopupMenu döndürür. Pencerenin Windows 3. 0'da, aldığı wm_command önce iletileri TrackPopupMenu döndürür.lpRect
Yoksayılır.
Dönüş Değeri
Bu yöntem arama sonucunu döndürür TrackPopupMenu , Windows SDK.
Notlar
Kayan bir açılır menü ekran üzerinde herhangi bir yerde görünebilir.
Örnek
// The code fragment shows how to get the File menu from the
// application window and displays it as a floating popup menu
// when the right mouse button is clicked in view.
// CMdiView is a CView-derived class.
void CMdiView::OnRButtonDown(UINT nFlags, CPoint point)
{
CView::OnRButtonDown(nFlags, point);
CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
CMenu* file_menu = menu_bar->GetSubMenu(0);
ASSERT(file_menu);
ClientToScreen(&point);
file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
point.y, this);
}
Gereksinimler
Başlık: afxwin.h