//销毁菜单 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; }
//销毁菜单 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; }