コード例 #1
0
//销毁菜单
bool CSkinMenu::DestroyMenu()
{
	//销毁菜单
	m_SkinMenuKernel.DestroyMenu();

	//释放子项
	for (INT_PTR i=0;i<m_MenuItemActive.GetCount();i++)
	{
		FreeMenuItem(m_MenuItemActive[i]);
	}
	m_MenuItemActive.RemoveAll();

	return true;
}
コード例 #2
0
//销毁菜单
BOOL CUIMenu::DestroyMenu()
{
	//销毁菜单
	BOOL bRes = CMenu::DestroyMenu();
	
	//释放子项
	for (INT_PTR i=0;i<m_MenuItemActive.GetCount();i++)
	{
		FreeMenuItem(m_MenuItemActive[i]);
	}
	m_MenuItemActive.RemoveAll();

 	//释放子项
 	for (INT_PTR i=0;i<m_MenuItemString.GetCount();i++)
 	{
		UIRenderEngine->RemoveImage(m_MenuItemString.GetAt(i)->m_pImageN);
		UIRenderEngine->RemoveImage(m_MenuItemString.GetAt(i)->m_pImageH);
 		SafeDelete(m_MenuItemString.GetAt(i));
 	}
	m_MenuItemString.RemoveAll();

 	//释放子项
 	for (INT_PTR i=0;i<m_MenuItemSeparator.GetCount();i++)
 	{
 		SafeDelete(m_MenuItemSeparator.GetAt(i));
 	}
	m_MenuItemSeparator.RemoveAll();

	//卸载钩子
	UnhookWindowsHookEx(m_hMenuHook);

	UIRenderEngine->RemoveImage(m_pMenuBar);
	UIRenderEngine->RemoveImage(m_pMenuBack);
	UIRenderEngine->RemoveImage(m_pMenuHoven);
	UIRenderEngine->RemoveImage(m_pSeparator);
	UIRenderEngine->RemoveImage(m_pCheck);
	UIRenderEngine->RemoveImage(m_pArrow);

	return bRes;
}