我在菜单项的一个子菜单函数里有这样对内存指针的引用操作,可是在2000下调试出现错误!
CWnd *pParent=GetParent();
CMenu *pMenu=pParent->GetMenu();
CMenu *SubMenu=pMenu->GetSubMenu(0);
SubMenu->CheckMenuItem(ID_LXC,MF_CHECKED);
CWnd *pParent=GetParent();
CMenu *pMenu=pParent->GetMenu();
CMenu *SubMenu=pMenu->GetSubMenu(0);
SubMenu->CheckMenuItem(ID_LXC,MF_CHECKED);
判断指针是否正确取到
这时候对view的实例GetParent()取得的就是Frame的指针。而你是在CFrame的一个函数(CMyFrame::myfunction)中做操作。当函数执行的时候,this代表的是CFrame类型的一个实例。所以this就是你要的frame指针。如果你是在CMyView::myfuction中,this就代表View的一个实例。这时候this->GetParent()就是Frame的指针。