为什么使用TrackPopupMenu函数报错?
jfy 2006-02-23 04:02:36 我在自己编写的测试程序中,正确使用了TrackPopupMenu函数,但我移植到一个修改后的程序中去
报如下错误:
error C2664: 'TrackPopupMenu' : cannot convert parameter 4 from 'class CDanUserZhangResult *const ' to 'class CWnd *'
由于我是修改别人的程序,该程序做了一点小加密,因此我不知道它的基类。
该函数如下:
void CDanUserZhangResult::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu menuPopup;
if(menuPopup.CreatePopupMenu())
{
menuPopup.AppendMenu(MF_STRING,ID_MENU_RED,"&Red");
menuPopup.InsertMenu(0,MF_BYPOSITION|MF_STRING,
ID_MENU_GREEN,"&Green");
menuPopup.AppendMenu(MF_SEPARATOR);
menuPopup.AppendMenu(MF_STRING|MF_CHECKED,
ID_MENU_BLUE,"&Blue");
menuPopup.AppendMenu(MF_STRING|MF_MENUBARBREAK,
ID_MENU_YELLOW,"&Yellow");
menuPopup.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
}
}