16,472
社区成员
发帖
与我相关
我的任务
分享
// 响应右键弹出菜单,响应WM_CONTEXTMENU消息:
void MyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
if(pWnd->m_hWnd != this->m_hWnd)
{
CMenu menu; //定义CMenu类对象
menu.LoadMenu(IDR_RIGHT_CLICK); //装入建立好的菜单IDC_POPMENU
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
menu.Detach();
}
}
//选择右键弹出菜单的菜单中设置对话框主菜单中的一个子菜单项无效的消息响应函数
void CXXDlg::OnMenuitem32772()
{
// TODO: Add your command handler code here
CMenu* pMenu =GetMenu()->GetSubMenu(1);
ASSERT(pMenu);
pMenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pMenu->Detach();
}
void CTestListDlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) //
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );
CMenu menu;
VERIFY( menu.LoadMenu( IDR_RIGHT_CLICK ) );
CMenu* popup = menu.GetSubMenu(0);
ASSERT( popup != NULL );
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this );
popup->Detach();
}
*pResult = 0;
}
void CTestListDlg::OnStartDown()
{
CMenu* pMenu =GetMenu()->GetSubMenu(0);
ASSERT(pMenu);
pMenu->EnableMenuItem(ID_START_DOWN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pMenu->Detach();
}
// 响应右键弹出菜单,响应WM_CONTEXTMENU消息:
void CXXDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu menu;
menu.LoadMenu(IDR_RIGHT_CLICK);
CMenu* pPopup = menu.GetSubMenu(0);
pPopup->TrackPopupMenu(TPM_RIGHTBUTTON, point.x, point.y, this);
menu.Detach();
}
//选择右键弹出菜单的菜单中设置对话框主菜单中的一个子菜单项无效的消息响应函数
void CXXDlg::OnMenuitem32772()
{
// TODO: Add your command handler code here
CMenu* pMenu =GetMenu()->GetSubMenu(1);
ASSERT(pMenu);
pMenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pMenu->Detach();
}
CMenu menu;
menu.LoadMenu(IDR_RIGHT_CLICK);
CMenu* pPopup = menu.GetSubMenu(0);
GetCursorPos(&point);
pPopup->TrackPopupMenu(TPM_RIGHTBUTTON, point.x, point.y, this);
pPopup->DestroyMenu();