亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? newmenu.h

?? PC share 2005 vip源代碼
?? H
?? 第 1 頁 / 共 3 頁
字號:
//------------------------------------------------------------------------------
// File    : NewMenu.h 
// Version : 1.18
// Date    : 30. November 2003
// Author  : Bruno Podetti
// Email   : Podetti@gmx.net
// Web     : www.podetti.com/NewMenu 
// Systems : VC6.0/7.0 and VC7.1 (Run under (Window 98/ME), Windows Nt 2000/XP)
//
// You are free to use/modify this code but leave this header intact.
// This class is public domain so you are free to use it any of your 
// applications (Freeware, Shareware, Commercial). 
// All I ask is that you let me know so that if you have a real winner I can
// brag to my buddies that some of my code is in your app. I also wouldn't 
// mind if you sent me a copy of your application since I like to play with
// new stuff.
//------------------------------------------------------------------------------
#ifndef __CNewMenu_H_
#define __CNewMenu_H_

// new constant for having the same color in the toolbar, you can define this
// also in the projekt definition
//#define USE_NEW_DOCK_BAR

#pragma warning(push)
#pragma warning(disable : 4211)

#include <afxtempl.h>
#include <afxpriv.h>

// Flagdefinitions 
#define MFT_TITLE       0x0001
#define MFT_TOP_TITLE   0x0000
#define MFT_SIDE_TITLE  0x0002
#define MFT_GRADIENT    0x0004
#define MFT_SUNKEN      0x0008
#define MFT_LINE        0x0010
#define MFT_ROUND       0x0020
#define MFT_CENTER      0x0040

// Typedefinition for compatibility to MFC 7.0
#ifndef DWORD_PTR
typedef DWORD DWORD_PTR, *PDWORD_PTR;
#endif

#ifndef ULONG_PTR
typedef unsigned long ULONG_PTR, *PULONG_PTR;
#endif

#ifndef LONG_PTR
typedef long LONG_PTR, *PLONG_PTR;
#endif

// Additional flagdefinition for highlighting
#ifndef ODS_HOTLIGHT
#define ODS_HOTLIGHT        0x0040
#endif

#ifndef ODS_INACTIVE
#define ODS_INACTIVE        0x0080
#endif


/////////////////////////////////////////////////////////////////////////////
// Constans for detecting OS-Type
enum Win32Type
{
  Win32s,
  WinNT3,
  Win95,
  Win98,
  WinME,
  WinNT4,
  Win2000,
  WinXP
};

extern const Win32Type g_Shell;
extern BOOL bRemoteSession;

/////////////////////////////////////////////////////////////////////////////
// Support for getting menuinfo without runtime-error

#if(WINVER < 0x0500)

#define MIM_BACKGROUND              0x00000002

typedef struct tagMENUINFO
{
    DWORD   cbSize;
    DWORD   fMask;
    DWORD   dwStyle;
    UINT    cyMax;
    HBRUSH  hbrBack;
    DWORD   dwContextHelpID;
    ULONG_PTR dwMenuData;
}   MENUINFO, FAR *LPMENUINFO;
typedef MENUINFO CONST FAR *LPCMENUINFO;

BOOL GetMenuInfo( HMENU hMenu, LPMENUINFO pInfo);
#endif


/////////////////////////////////////////////////////////////////////////////
// Global helperfunctions
UINT GetSafeTimerID(HWND hWnd, const UINT uiElapse);
BOOL DrawMenubarItem(CWnd* pWnd,CMenu* pMenu, UINT nItemIndex,UINT nState);

WORD NumBitmapColors(LPBITMAPINFOHEADER lpBitmap);
HBITMAP LoadColorBitmap(LPCTSTR lpszResourceName, HMODULE hInst, int* pNumcol=NULL);

void UpdateMenuBarColor(HMENU hMenu=NULL);

/////////////////////////////////////////////////////////////////////////////
// Forwarddeclaration for drawing purpose
class CMenuTheme;
class CNewDockBar;

/////////////////////////////////////////////////////////////////////////////
// CNewMenuIcons menu icons for drawing

class CNewMenuIcons : public CObject
{
  DECLARE_DYNCREATE(CNewMenuIcons)

public:
  CNewMenuIcons();
  virtual ~CNewMenuIcons();

public:
  BOOL GetIconSize(int* cx, int* cy);
  CSize GetIconSize();

  virtual int FindIndex(UINT nID);
  virtual void OnSysColorChange();

  virtual BOOL LoadToolBar(LPCTSTR lpszResourceName, HMODULE hInst);
  virtual BOOL LoadToolBar(WORD* pToolInfo, COLORREF crTransparent=CLR_NONE);

  virtual BOOL DoMatch(LPCTSTR lpszResourceName, HMODULE hInst);
  virtual BOOL DoMatch(WORD* pToolInfo, COLORREF crTransparent=CLR_NONE);

  virtual BOOL LoadBitmap(int nWidth, int nHeight, LPCTSTR lpszResourceName, HMODULE hInst=NULL);

//  virtual BOOL SetBlendImage();
  virtual int AddGloomIcon(HICON hIcon, int nIndex=-1);
  virtual int AddGrayIcon(HICON hIcon, int nIndex=-1);
  virtual BOOL MakeImages();

  void SetResourceName(LPCTSTR lpszResourceName);

  int AddRef();
  int Release();

#if defined(_DEBUG) || defined(_AFXDLL)
  // Diagnostic Support
  virtual void AssertValid() const;
  virtual void Dump(CDumpContext& dc) const;
#endif

public:
  LPCTSTR m_lpszResourceName;
  HMODULE m_hInst;
  int m_nColors;
  COLORREF m_crTransparent;

  CImageList m_IconsList;

  CArray<UINT,UINT&> m_IDs;
  DWORD m_dwRefCount;
};

/////////////////////////////////////////////////////////////////////////////
// CNewMenuBitmaps menu icons for drawing
class CNewMenuBitmaps : public CNewMenuIcons
{
  DECLARE_DYNCREATE(CNewMenuBitmaps)

public:
  CNewMenuBitmaps();
  virtual ~CNewMenuBitmaps();

public:
  int Add(UINT nID, COLORREF crTransparent=CLR_NONE);
  int Add(HICON hIcon, UINT nID=0);
  int Add(CBitmap* pBitmap, COLORREF crTransparent=CLR_NONE);

  virtual void OnSysColorChange();

  CArray<COLORREF,COLORREF&> m_TranspColors;
};

/////////////////////////////////////////////////////////////////////////////
// CNewMenuItemData menu item data for drawing

class CNewMenuItemData : public CObject
{
  DECLARE_DYNCREATE(CNewMenuItemData)

public:
  CNewMenuItemData();
  virtual ~CNewMenuItemData();

public:
  LPCTSTR GetString();
  void SetString(LPCTSTR szMenuText);

#if defined(_DEBUG) || defined(_AFXDLL)
  // Diagnostic Support
  virtual void AssertValid() const;
  virtual void Dump(CDumpContext& dc) const;
#endif

public:
  CString m_szMenuText;

  UINT m_nTitleFlags;
  UINT m_nFlags;
  UINT m_nID;
  UINT m_nSyncFlag;

  CNewMenuIcons* m_pMenuIcon;
  int m_nMenuIconOffset;

  void* m_pData;
};

/////////////////////////////////////////////////////////////////////////////
// CNewMenu the new menu class

class CNewMenu : public CMenu
{
  friend class CNewMenuHook;
  friend class CNewMenuIcons;

  DECLARE_DYNCREATE(CNewMenu)

public:
  // how the menu's are drawn, either original or XP style
  typedef enum 
  { 
    STYLE_ORIGINAL,
    STYLE_ORIGINAL_NOBORDER,

    STYLE_XP,
    STYLE_XP_NOBORDER,

    STYLE_SPECIAL,
    STYLE_SPECIAL_NOBORDER,

    STYLE_ICY,
    STYLE_ICY_NOBORDER,

    STYLE_XP_2003,
    STYLE_XP_2003_NOBORDER,

    STYLE_UNDEFINED = -1

  } EDrawStyle;

  // how seperators are handled when removing a menu (Tongzhe Cui)
  typedef enum {NONE, HEAD, TAIL, BOTH} ESeperator;

public:
  CNewMenu(HMENU hParent=0); 
  virtual ~CNewMenu();

  // Functions for loading and applying bitmaps to menus (see example application)
  virtual BOOL LoadMenu(HMENU hMenu);
  virtual BOOL LoadMenu(LPCTSTR lpszResourceName);
  virtual BOOL LoadMenu(int nResource);

  BOOL LoadToolBar(WORD* pIconInfo, COLORREF crTransparent=CLR_NONE);
  BOOL LoadToolBar(LPCTSTR lpszResourceName, HMODULE hInst = NULL);
  BOOL LoadToolBar(UINT nToolBar, HMODULE hInst = NULL);
  BOOL LoadToolBars(const UINT *arID,int n, HMODULE hInst = NULL);

  BOOL LoadFromToolBar(UINT nID,UINT nToolBar,int& xoffset);
  BOOL AddBitmapToImageList(CImageList *list,UINT nResourceID);

  static HBITMAP LoadSysColorBitmap(int nResourceId);
  // custom check mark bitmaps
  void LoadCheckmarkBitmap(int unselect, int select); 

  // functions for appending a menu option, use the AppendMenu call
  BOOL AppendMenu(UINT nFlags,UINT nIDNewItem=0,LPCTSTR lpszNewItem=NULL,int nIconNormal=-1);
  BOOL AppendMenu(UINT nFlags,UINT nIDNewItem,LPCTSTR lpszNewItem,CImageList *il,int xoffset);
  BOOL AppendMenu(UINT nFlags,UINT nIDNewItem,LPCTSTR lpszNewItem,CBitmap *bmp);

  BOOL AppendODMenu(LPCTSTR lpstrText, UINT nFlags = MF_OWNERDRAW, UINT nID = 0, int nIconNormal = -1);  
  BOOL AppendODMenu(LPCTSTR lpstrText, UINT nFlags, UINT nID, CBitmap* pbmp);
  BOOL AppendODMenu(LPCTSTR lpstrText, UINT nFlags, UINT nID, CImageList *il, int xoffset);
  BOOL AppendODMenu(LPCTSTR lpstrText, UINT nFlags, UINT nID, CNewMenuIcons* pIcons, int nIndex);

  // for appending a popup menu (see example application)
  CNewMenu* AppendODPopupMenu(LPCTSTR lpstrText);

  // functions for inserting a menu option, use the InsertMenu call (see above define)
  BOOL InsertMenu(UINT nPosition,UINT nFlags,UINT nIDNewItem=0,LPCTSTR lpszNewItem=NULL,int nIconNormal=-1);
  BOOL InsertMenu(UINT nPosition,UINT nFlags,UINT nIDNewItem,LPCTSTR lpszNewItem,CImageList *il,int xoffset);
  BOOL InsertMenu(UINT nPosition,UINT nFlags,UINT nIDNewItem,LPCTSTR lpszNewItem,CBitmap *bmp);

  BOOL InsertODMenu(UINT nPosition,LPCTSTR lpstrText, UINT nFlags = MF_OWNERDRAW,UINT nID = 0,int nIconNormal = -1);  
  BOOL InsertODMenu(UINT nPosition,LPCTSTR lpstrText, UINT nFlags, UINT nID, CBitmap* pBmp);
  BOOL InsertODMenu(UINT nPosition,LPCTSTR lpstrText, UINT nFlags, UINT nID, CImageList *il,int xoffset);
  BOOL InsertODMenu(UINT nPosition,LPCTSTR lpstrText, UINT nFlags, UINT nID, CNewMenuIcons* pIcons, int nIndex);

  // Same as ModifyMenu but replacement for CNewMenu
  BOOL ModifyODMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem = 0,LPCTSTR lpszNewItem = NULL);
	BOOL ModifyODMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp);

  // functions for modifying a menu option, use the ModifyODMenu call (see above define)
  BOOL ModifyODMenu(LPCTSTR lpstrText, UINT nID=0, int nIconNormal=-1);
  BOOL ModifyODMenu(LPCTSTR lpstrText, UINT nID, CImageList *il, int xoffset);
  BOOL ModifyODMenu(LPCTSTR lpstrText, UINT nID, CNewMenuIcons* pIcons, int nIndex);

  BOOL ModifyODMenu(LPCTSTR lpstrText,UINT nID,CBitmap *bmp);
  BOOL ModifyODMenu(LPCTSTR lpstrText,LPCTSTR OptionText,int nIconNormal);
  // use this method for adding a solid/hatched colored square beside a menu option
  // courtesy of Warren Stevens
  BOOL ModifyODMenu(LPCTSTR lpstrText,UINT nID,COLORREF fill,COLORREF border,int hatchstyle=-1);

  // for deleting and removing menu options
  BOOL  DeleteMenu(UINT uiId,UINT nFlags);
  BOOL  RemoveMenu(UINT uiId,UINT nFlags);
  int RemoveMenu(LPCTSTR pText, ESeperator sPos=CNewMenu::NONE);

  // function for retrieving and setting a menu options text (use this function
  // because it is ownerdrawn)
  BOOL GetMenuText(UINT id,CString &string,UINT nFlags = MF_BYPOSITION);
  BOOL SetMenuText(UINT id,CString string, UINT nFlags = MF_BYPOSITION);

  // Getting a submenu from it's name or position
  CMenu* GetSubMenu (LPCTSTR lpszSubMenuName) const;
  CMenu* GetSubMenu (int nPos) const;
  int GetMenuPosition(LPCTSTR pText);

  // Destoying
  virtual BOOL DestroyMenu();

  // Drawing: 
  // Draw an item
  virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);
  // Measure an item  
  virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMIS);
  // Draw title of the menu
  virtual void DrawTitle(LPDRAWITEMSTRUCT lpDIS,BOOL bIsMenuBar);
  // Erase the Background of the menu
  virtual BOOL EraseBkgnd(HWND hWnd,HDC hDC);

  static COLORREF GetMenuBarColor2003();
  static COLORREF GetMenuBarColorXP();
  static COLORREF GetMenuBarColor(HMENU hMenu=NULL);
  static COLORREF GetMenuColor(HMENU hMenu=NULL);

  static void SetMenuTitleFont(CFont* pFont);
  static void SetMenuTitleFont(LOGFONT* pLogFont);
  static LOGFONT GetMenuTitleFont();

  // Menutitle function
  BOOL SetMenuTitle(LPCTSTR pTitle,UINT nTitleFlags=MFT_TOP_TITLE);
  BOOL RemoveMenuTitle();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清欧美激情| 成人av影院在线| 国产成a人亚洲| 欧美性大战久久久久久久| 26uuu精品一区二区| 亚洲网友自拍偷拍| 国产 日韩 欧美大片| 欧美一区二区高清| 亚洲激情校园春色| 成人午夜电影久久影院| 日韩一级视频免费观看在线| 一区二区三区在线免费视频| 国产成人综合在线播放| 欧美久久婷婷综合色| 成人免费一区二区三区视频| 国产精品综合一区二区三区| 欧美日韩大陆在线| 一区二区三区不卡视频在线观看| 国产精品一区2区| 久久影院午夜论| 美女诱惑一区二区| 精品视频1区2区| 一区二区三区中文字幕| 99久久精品国产毛片| 国产精品免费aⅴ片在线观看| 久久www免费人成看片高清| 欧美日韩亚洲丝袜制服| 一二三四区精品视频| 色综合久久综合网97色综合 | 国产一本一道久久香蕉| 欧美精品久久99久久在免费线 | 国产精品视频看| 国产精品系列在线观看| 久久综合成人精品亚洲另类欧美 | 亚洲午夜三级在线| 色综合色综合色综合色综合色综合 | 国产精品88888| 国产视频一区二区在线| 国产精品18久久久久久久网站| 精品日本一线二线三线不卡| 久久国产夜色精品鲁鲁99| 日韩免费在线观看| 国产精品77777| 中文字幕在线视频一区| 色综合久久久久综合99| 亚洲自拍偷拍综合| 欧美日韩激情一区| 青青草91视频| 久久精品日产第一区二区三区高清版| 激情久久久久久久久久久久久久久久| 日韩免费高清av| 国产精品1024| 一区二区在线免费| 91麻豆精品国产无毒不卡在线观看 | 日韩欧美成人激情| 丁香六月久久综合狠狠色| 日韩理论电影院| 欧美日韩一二区| 激情综合五月婷婷| 中文字幕巨乱亚洲| 欧美午夜宅男影院| 久久精品久久精品| 日本一二三四高清不卡| 欧美日韩一级黄| 国产成人精品一区二| 一区二区欧美视频| 欧美mv日韩mv国产| 日本电影欧美片| 久久福利视频一区二区| 国产精品高潮呻吟久久| 制服.丝袜.亚洲.中文.综合| 岛国精品一区二区| 奇米影视在线99精品| 亚洲国产精品精华液ab| 欧美性生活影院| 国产成人一级电影| 午夜不卡av在线| 国产精品久久久久aaaa| 日韩视频一区二区三区在线播放| 成人av网站在线观看| 美国欧美日韩国产在线播放| 国产精品国产三级国产| 欧美电影免费观看高清完整版在线观看 | 福利91精品一区二区三区| 亚洲成人你懂的| 国产精品成人网| 亚洲精品一区二区三区在线观看 | 天涯成人国产亚洲精品一区av| 国产日韩欧美精品在线| 欧美一区二区私人影院日本| 97精品国产97久久久久久久久久久久| 麻豆成人久久精品二区三区红| 亚洲欧美日韩一区二区三区在线观看| 精品国产成人在线影院| 欧美人与禽zozo性伦| 色综合一个色综合亚洲| 国产 日韩 欧美大片| 韩国精品在线观看| 六月丁香婷婷久久| 日本亚洲视频在线| 亚洲gay无套男同| 亚洲精品视频在线观看免费| 久久精品视频一区二区| 久久这里只精品最新地址| 欧美精品亚洲二区| 欧美日韩一区二区三区视频| 色噜噜狠狠一区二区三区果冻| 国产aⅴ综合色| 国产99久久久久久免费看农村| 国产综合色在线视频区| 久久精品久久综合| 精东粉嫩av免费一区二区三区| 日韩高清一区在线| 日本免费在线视频不卡一不卡二| 亚洲成人av一区二区三区| 亚洲一区二区av电影| 亚洲一区二区免费视频| 亚洲国产cao| 五月天国产精品| 日本欧美一区二区在线观看| 日韩电影在线免费| 美国十次了思思久久精品导航| 久久er精品视频| 国产美女精品人人做人人爽| 久久aⅴ国产欧美74aaa| 国产精品一区二区无线| 成人综合在线视频| 99久久综合国产精品| 91高清视频免费看| 欧美日韩三级一区二区| 欧美一区二区播放| 久久综合色之久久综合| 欧美高清在线精品一区| 国产精品国产自产拍在线| 亚洲男女毛片无遮挡| 亚洲国产成人av网| 另类欧美日韩国产在线| 丁香另类激情小说| 欧洲精品在线观看| 欧美一区二区三区精品| 久久久精品一品道一区| 国产精品久久久久久久第一福利| 一区二区三区四区蜜桃| 日韩成人精品在线| 丁香五精品蜜臀久久久久99网站| 99视频在线观看一区三区| 欧美精品三级日韩久久| 欧美精品一区二区三区很污很色的 | 欧美精选一区二区| 亚洲国产精品高清| 亚洲成人动漫在线免费观看| 狠狠色丁香婷婷综合| 91玉足脚交白嫩脚丫在线播放| 欧美久久久久久久久久| 欧美国产欧美综合| 免费成人你懂的| 99久久国产综合色|国产精品| 欧美二区三区91| 中文文精品字幕一区二区| 亚洲午夜电影在线观看| 国产夫妻精品视频| 欧美三级乱人伦电影| 国产拍欧美日韩视频二区| 亚洲成人1区2区| av成人免费在线| 欧美成人r级一区二区三区| 最新中文字幕一区二区三区| 蜜臀国产一区二区三区在线播放| 成人理论电影网| 精品国产伦理网| 天天色 色综合| av电影天堂一区二区在线观看| 欧美大尺度电影在线| 一区二区三区四区在线| 波多野结衣中文字幕一区| 日韩一卡二卡三卡四卡| 亚洲在线视频一区| a亚洲天堂av| 久久老女人爱爱| 激情偷乱视频一区二区三区| 51午夜精品国产| 亚洲综合偷拍欧美一区色| 99久久精品99国产精品| 国产精品人妖ts系列视频| 国产在线精品一区二区三区不卡| 欧美无人高清视频在线观看| 亚洲三级小视频| 99视频在线观看一区三区| 国产区在线观看成人精品| 激情综合色丁香一区二区| 91精品一区二区三区久久久久久 | 国产精品初高中害羞小美女文| 国产激情91久久精品导航| 精品国产91亚洲一区二区三区婷婷 | 亚洲第四色夜色| 欧美色网一区二区| 亚洲v日本v欧美v久久精品| 在线欧美日韩国产| 亚洲一区二区三区影院| 欧美在线观看视频一区二区|