补充:
void NewListCtrl::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
CxPasswordsforGFDlg dlg;
DWORD dwPos = GetMessagePos();
CPoint point1( LOWORD(dwPos), HIWORD(dwPos) );
CPoint point2( LOWORD(dwPos), HIWORD(dwPos) ); dlg.m_list1.ScreenToClient(&point2);
UINT m_nRSelItem = dlg.m_list1.HitTest(point2);
if (point1.x==-1&&point1.y==-1)
point1.Offset(5,5);
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU1));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point1.x,point1.y,this);
pointX.x=point1.x;
pointX.y=point1.y;
dlg.m_list1.SetFocus();
POSITION pos;
pos = dlg.m_list1.GetFirstSelectedItemPosition();
IndexInFieldList = dlg.m_list1.GetNextSelectedItem(pos); // 得到项目索引
*pResult = 0;
}这是派生类里面的响应鼠标右键, 但无法弹出菜单.... 不知道是哪出错了, 各位 大大大虾救救我......
void NewListCtrl::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
CxPasswordsforGFDlg dlg;
DWORD dwPos = GetMessagePos();
CPoint point1( LOWORD(dwPos), HIWORD(dwPos) );
CPoint point2( LOWORD(dwPos), HIWORD(dwPos) ); dlg.m_list1.ScreenToClient(&point2);
UINT m_nRSelItem = dlg.m_list1.HitTest(point2);
if (point1.x==-1&&point1.y==-1)
point1.Offset(5,5);
CMenu menu;
VERIFY(menu.LoadMenu(IDR_MENU1));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point1.x,point1.y,this);
pointX.x=point1.x;
pointX.y=point1.y;
dlg.m_list1.SetFocus();
POSITION pos;
pos = dlg.m_list1.GetFirstSelectedItemPosition();
IndexInFieldList = dlg.m_list1.GetNextSelectedItem(pos); // 得到项目索引
*pResult = 0;
}这是派生类里面的响应鼠标右键, 但无法弹出菜单.... 不知道是哪出错了, 各位 大大大虾救救我......
这个是CxPasswordsforGFDlg的对象,因为m_list1在xPasswordsforGFDlg.h里
我用对象去访问...