本文實例講述了MFC創建右鍵彈出菜單的方法。分享給大家供大家參考。具體實現方法如下:
①、添加一個菜單資源,ID為IDM_RIGHTMENU。因為在顯示右鍵菜單時頂級菜單是不顯示的,所以可以給它設置任意文本。
②、給視類添加WM_RBUTTONDOWN消息,在該消息中處理右鍵彈出菜單。因為視類窗口始終覆蓋在框架窗口之上,框架窗口接收不到鼠標消息,所以由視類捕獲WM_RBUTTONDOWN消息。
CMenu menu;
menu.LoadMenuW(IDM_RIGHTMENU);//加載菜單資源
CMenu *pPopup=menu.GetSubMenu(0);
ClientToScreen(&point);//將客戶區坐標轉換為屏幕坐標
//顯示右鍵菜單,由視類窗口擁有。
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
//TrackPopupMenu的最后一個參數,可以為GetParent讓父窗口既框架窗口擁有右鍵菜單,這樣
//框架類窗口獲得了對右鍵菜單中菜單項的命令響應,
CView::OnRButtonDown(nFlags, point);
}
③、為右鍵菜單項添加命令消息響應函數(略)。
希望本文所述對大家的基于MFC的VC++程序設計有所幫助。
新聞熱點
疑難解答
圖片精選