怎么将new 的CMenu delete掉?
y2hao 2004-04-01 10:14:56 下面是我在Dialog中动态创建菜单项的部分:
CMenu* pMenu = GetMenu();
CMenu* pSubMenu = NULL;
for(int i=0; i<3; i++)
{
//向主菜单插入
if (pMenu != NULL)
{
pSubMenu= new CMenu;
VERIFY(pSubMenu->CreatePopupMenu());
pMenu->InsertMenu(nMenuStart+i,MF_BYPOSITION | MF_POPUP, (UINT) pSubMenu->m_hMenu,strItemName);
//创建子项
for(int j=0; j<3; j++)
{
if (pSubMenu!=NULL)
{
pSubMenu->InsertMenu(j,MF_BYPOSITION,j,strSubItemName);
}
}
}
}
我要在Dialog 结束时将起detete,但如下做法运行时出错:
CMenu* pMenu = GetMenu();
CMenu* pSubMenu = NULL;
for(int i=0; i<3; i++)
{
//向主菜单插入
if (pMenu != NULL)
{
pSubMenu = pMenu->GetSubMenu(i);
delete pSubMenu;
pSubMenu = NULL;
}
如果将pSubMenu进行DeleteMenu(j,MF_BYPOSITION)完了再delete pSubMenu,还是出错。
怎么将这些new 的pSubMenu delete掉?