MenuSpawn.h
上传用户:pasef_zww
上传日期:2007-01-02
资源大小:109k
文件大小:2k
源码类别:

菜单

开发平台:

Visual C++

  1. // MenuSpawn.h: interface for the CMenuSpawn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MENUSPAWN_H__BB6F2F01_91FA_11D1_8B78_0000B43382FE__INCLUDED_)
  5. #define AFX_MENUSPAWN_H__BB6F2F01_91FA_11D1_8B78_0000B43382FE__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. class CMenuSpawn  
  10. {
  11. public:
  12. struct ToolBarData
  13. { // struct for toolbar resource; guess you already know it ;)
  14. WORD wVersion;
  15. WORD wWidth;
  16. WORD wHeight;
  17. WORD wItemCount;
  18. };
  19. struct SpawnItem
  20. {
  21. int iImageIdx;
  22. int iCmd;
  23. char cText[128];
  24. };
  25. struct ImageItem
  26. {
  27. int iImageIdx;
  28. int iCmd;
  29. };
  30. public:
  31. bool IsSpawnMenu(CMenu * pMenu, const int iItem, const bool bByPos);
  32. bool GetMenuItemText(CString &csText, CMenu * pMenu, const int cmd, bool bByPos);
  33. void TransparentBlt(CDC * pDestDc, int x, int y, int w, int h, CBitmap * pBmp, int sx, int sy, COLORREF crTransparent);
  34. void SetBackBitmap(const int iRes, COLORREF crBackColor);
  35. void SetBackBitmap(const int iRes);
  36. void SetTextColor(const COLORREF crNormal, const COLORREF crSelected);
  37. bool FindKeyboardShortcut(UINT nChar, UINT nFlags, CMenu * pMenu, LRESULT &lRes);
  38. bool SetFont(LOGFONT * lf);
  39. HFONT hMenuFont, hGuiFont;
  40. CSize szImage;
  41. bool MeasureItem(LPMEASUREITEMSTRUCT lpm);
  42. bool DrawItem(LPDRAWITEMSTRUCT lp);
  43. int FindImageItem(const int cmd);
  44. SpawnItem * AddSpawnItem(const char * txt, const int cmd);
  45. void RemapMenu(CMenu * pMenu);
  46. void AddImageItem(const int idx, WORD cmd);
  47. CImageList ilList;
  48. CImageList ilOther;
  49. COLORREF crMenuText, crMenuTextSel;
  50. COLORREF cr3dFace, crMenu, crHighlight, cr3dHilight, cr3dShadow, crGrayText;
  51. COLORREF m_clrBtnFace, m_clrBtnHilight, m_clrBtnShadow;
  52. int iSpawnItem;
  53. SpawnItem ** pSpawnItem;
  54. int iImageItem;
  55. ImageItem * pImageItem;
  56. bool bIsPopup;
  57. bool bBackBitmap;
  58. CBitmap bmpBack;
  59. bool LoadToolBarResource(unsigned int resId);
  60. bool AddToolBarResource(unsigned int resId);
  61. void EnableMenuItems(CMenu * pMenu, CWnd * pParent);
  62. CMenuSpawn();
  63. CMenuSpawn(const bool _IsPopup);
  64. virtual ~CMenuSpawn();
  65. protected:
  66. void Init();
  67. };
  68. #endif // !defined(AFX_MENUSPAWN_H__BB6F2F01_91FA_11D1_8B78_0000B43382FE__INCLUDED_)