www.pudn.com > 200308141526117224仿MSN(网易泡泡)界面.rar > CNPopupMenu.h
// GfxPopupMenu.h: interface for the CNPopupMenu class. // // Modified a lot by Zhang Yong ////////////////////////////////////////////////////////////////////// #if !defined(AFX_GFXPOPUPMENU_H__F2CEE8B2_014D_11D2_83E4_0000B43382FE__INCLUDED_) #define AFX_GFXPOPUPMENU_H__F2CEE8B2_014D_11D2_83E4_0000B43382FE__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #includeclass CNPopupMenu : public CMenu { public: struct ToolBarData { // struct for toolbar resource; guess you already know it ;) WORD wVersion; WORD wWidth; WORD wHeight; WORD wItemCount; }; struct SpawnItem { int iImageIdx; int iCmd; char cText[128]; }; struct ImageItem { int iImageIdx; int iCmd; }; CNPopupMenu(); virtual ~CNPopupMenu(); HFONT hMenuBoldFont; bool CreateBoldFont(); HFONT hMenuFont, hGuiFont; CSize szImage; int FindImageItem(const int cmd); SpawnItem * AddSpawnItem(const char * txt, const int cmd); void AddImageItem(const int idx, WORD cmd); void RemapMenu(CMenu * pMenu); CImageList ilList; CImageList ilOther; COLORREF crMenuText, crMenuTextSel; COLORREF cr3dFace, crMenu, crHighlight, cr3dHilight, cr3dShadow, crGrayText; COLORREF m_clrBtnFace, m_clrBtnHilight, m_clrBtnShadow; int iSpawnItem; SpawnItem ** pSpawnItem; int iImageItem; ImageItem * pImageItem; bool LoadToolBarResource(unsigned int resId); bool AddToolBarResource(unsigned int resId); void EnableMenuItems(CMenu * pMenu, CWnd * pParent); virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct); virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct); // @@ void modifyMenu(UINT id, UINT bitmap, BOOL byCmd = TRUE); void modifyMenu(UINT id, HICON icon); void appendMenu(UINT id, UINT bitmap, UINT strID); void appendMenu(UINT id, UINT bitmap, LPCTSTR str); void setVertBitmap(UINT bitmap); private: void modifyMenuInternal(UINT itemId, int imageIndex, BOOL byCmd); CMap imageHash; CMap bitmapHash; CBitmap bmVert; BOOL vertDrawn; }; #endif // !defined(AFX_GFXPOPUPMENU_H__F2CEE8B2_014D_11D2_83E4_0000B43382FE__INCLUDED_)