hur.cn - 华软网

 热门搜索

如何在MapX中分别响应左右键点击消息

  作者:未知    来源:网络    更新时间:2011/5/11
VC中使用MapX,添加了MapX的点击事件,可以响应消息,但是原来View类中的左击和右击似乎被屏蔽了,无法响应消息。请问该如何解决?急用
---华软 网友回答---
没有知道的吗?期待高手
---华软网友回复---
还是没人回答,自己顶下
---华软网友回复---
在程序中添加DISPID_MOUSEUP事件 
C++">
BOOL CExampleView::OnMouseUpInMap(short Button, short Shift,OLE_XPOS_PIXELS x,OLE_YPOS_PIXELS y)
{
if (Button == 2) { //此处Button==1表示鼠标左键,Button ==2表示右键

CMenu menu; // top-level menu

CMenu *pMenu=NULL; // pop-up menu

// Load the menu resource.
menu.LoadMenu(IDR_CONTEXTMENU);

// TrackPopupMenu cannot display the top-level menu, so get

// the handle of the first pop-up menu.

pMenu = menu.GetSubMenu(0);

if (!pMenu) {

return TRUE;

}

//SetMenuDefaultItem(pMenu->m_hMenu,1,TRUE);

// Display the floating pop-up menu. Track the right mouse

// button on the assumption that this function is called

// during WM_CONTEXTMENU processing.

POINT pt;

GetCursorPos(&pt);

pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x, pt.y, this, NULL);

// Destroy the menu.

menu.DestroyMenu();
}
return TRUE;
}
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。