//插入字符 bool CUIMenu::InsertMenu(UINT nMenuID, LPCTSTR pszString, UINT nPosition, LPCTSTR lpszIconN, LPCTSTR lpszIconH, UINT nFlags) { //类型判断 ASSERT((nFlags&MF_SEPARATOR)==0); if ((nFlags&MF_SEPARATOR)!=0) return false; //获取子项 CEasySkinMenuString * pEasySkinMenuItem=(CEasySkinMenuString *)AcitveMenuItem(MenuItemType_String); //插入菜单 if (pEasySkinMenuItem!=NULL) { UIRenderEngine->RemoveImage(pEasySkinMenuItem->m_pImageN); UIRenderEngine->RemoveImage(pEasySkinMenuItem->m_pImageH); pEasySkinMenuItem->m_pImageN = UIRenderEngine->GetImage(lpszIconN); pEasySkinMenuItem->m_pImageH = UIRenderEngine->GetImage(lpszIconH); pEasySkinMenuItem->m_strString=pszString; pEasySkinMenuItem->m_hSubMenu = (HMENU)nMenuID; CMenu::InsertMenu(nPosition,MF_OWNERDRAW|nFlags,nMenuID,(LPCTSTR)(pEasySkinMenuItem)); return true; } return false; }
//插入拆分 bool CUIMenu::InsertSeparator(UINT nPosition) { //获取子项 CEasySkinMenuSeparator * pEasySkinMenuItem=(CEasySkinMenuSeparator *)AcitveMenuItem(MenuItemType_Separator); //插入菜单 if (pEasySkinMenuItem!=NULL) { CMenu::InsertMenu(nPosition,MF_OWNERDRAW,0,(LPCTSTR)(pEasySkinMenuItem)); return true; } return false; }
//插入拆分 bool CUIMenu::AppendSeparator() { //获取子项 CEasySkinMenuSeparator * pEasySkinMenuItem=(CEasySkinMenuSeparator *)AcitveMenuItem(MenuItemType_Separator); //插入菜单 if (pEasySkinMenuItem!=NULL) { CMenu::AppendMenu(MF_OWNERDRAW,0,(LPCTSTR)(pEasySkinMenuItem)); return true; } return false; }
//插入拆分 bool CSkinMenu::AppendSeparator() { //获取子项 CSkinMenuSeparator * pSkinMenuItem=(CSkinMenuSeparator *)AcitveMenuItem(MenuItemType_Separator); //插入菜单 if (pSkinMenuItem!=NULL) { m_SkinMenuKernel.AppendMenu(MF_OWNERDRAW,0,(LPCTSTR)(pSkinMenuItem)); return true; } return false; }
//插入字符 bool CSkinMenu::InsertMenu(UINT nMenuID, LPCTSTR pszString, UINT nPosition, UINT nFlags) { //类型判断 ASSERT((nFlags&MF_SEPARATOR)==0); if ((nFlags&MF_SEPARATOR)!=0) return false; //获取子项 CSkinMenuString * pSkinMenuItem=(CSkinMenuString *)AcitveMenuItem(MenuItemType_String); //插入菜单 if (pSkinMenuItem!=NULL) { pSkinMenuItem->m_strString=pszString; m_SkinMenuKernel.InsertMenu(nPosition,MF_OWNERDRAW|nFlags,nMenuID,(LPCTSTR)(pSkinMenuItem)); return true; } return false; }
//插入位图 bool CSkinMenu::InsertMenu(UINT nMenuID, HBITMAP hBitmap, UINT nPosition, UINT nFlags) { //类型判断 ASSERT((nFlags&MF_SEPARATOR)==0); if ((nFlags&MF_SEPARATOR)!=0) return false; //获取子项 CSkinMenuImage * pSkinMenuItem=(CSkinMenuImage *)AcitveMenuItem(MenuItemType_Image); //插入菜单 if (pSkinMenuItem!=NULL) { pSkinMenuItem->m_hBitmap=hBitmap; m_SkinMenuKernel.InsertMenu(nPosition,MF_OWNERDRAW|nFlags,nMenuID,(LPCTSTR)(pSkinMenuItem)); return true; } return false; }