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

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

?? bcmenu.h

?? 一個簡單的個人所得稅計算器,可以編輯稅率表和所在地列表.
?? H
?? 第 1 頁 / 共 2 頁
字號:
//*************************************************************************
// BCMenu.h : header file
// Version : 3.034
// Date : May 2002
// Author : Brent Corkum
// Email :  corkum@rocscience.com
// Latest Version : http://www.rocscience.com/~corkum/BCMenu.html
// 
// Bug Fixes and portions of code supplied by:
//
// Ben Ashley,Girish Bharadwaj,Jean-Edouard Lachand-Robert,
// Robert Edward Caldecott,Kenny Goers,Leonardo Zide,
// Stefan Kuhr,Reiner Jung,Martin Vladic,Kim Yoo Chul,
// Oz Solomonovich,Tongzhe Cui,Stephane Clog,Warren Stevens,
// Damir Valiulin,David Kinder,Marc Loiry
//
// 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 BCMenu_H
#define BCMenu_H

#include <afxtempl.h>

// BCMenuData class. Fill this class structure to define a single menu item:
class BCMenuData
{
	wchar_t *m_szMenuText;
public:
	BCMenuData () {menuIconNormal=-1;xoffset=-1;bitmap=NULL;pContext=NULL;
	nFlags=0;nID=0;syncflag=0;m_szMenuText=NULL;global_offset=-1;};
	void SetAnsiString(LPCSTR szAnsiString);
	void SetWideString(const wchar_t *szWideString);
	const wchar_t *GetWideString(void) {return m_szMenuText;};
	~BCMenuData ();
	CString GetString(void);//returns the menu text in ANSI or UNICODE
	int xoffset,global_offset;
	int menuIconNormal;
	UINT nFlags,nID,syncflag;
	CImageList *bitmap;
	void *pContext; // used to attach user data
};

//struct CMenuItemInfo : public MENUITEMINFO {
struct CMenuItemInfo : public 
//MENUITEMINFO 
#ifndef UNICODE   //SK: this fixes warning C4097: typedef-name 'MENUITEMINFO' used as synonym for class-name 'tagMENUITEMINFOA'
tagMENUITEMINFOA
#else
tagMENUITEMINFOW
#endif
{
	CMenuItemInfo()
	{
		memset(this, 0, sizeof(MENUITEMINFO));
		cbSize = sizeof(MENUITEMINFO);
	}
};

// how the menu's are drawn, either original or XP style
typedef enum {BCMENU_DRAWMODE_ORIGINAL,BCMENU_DRAWMODE_XP} BC_MenuDrawMode;

// how seperators are handled when removing a menu (Tongzhe Cui)
typedef enum {BCMENU_NONE, BCMENU_HEAD, BCMENU_TAIL, BCMENU_BOTH} BC_Seperator;

// defines for unicode support
#ifndef UNICODE
#define AppendMenu AppendMenuA
#define InsertMenu InsertMenuA
#define InsertODMenu InsertODMenuA
#define AppendODMenu AppendODMenuA
#define AppendODPopupMenu AppendODPopupMenuA
#define ModifyODMenu ModifyODMenuA
#else
#define AppendMenu AppendMenuW
#define InsertMenu InsertMenuW
#define InsertODMenu InsertODMenuW
#define AppendODMenu AppendODMenuW
#define ModifyODMenu ModifyODMenuW
#define AppendODPopupMenu AppendODPopupMenuW
#endif


class BCMenu : public CMenu
{
	DECLARE_DYNAMIC( BCMenu )
public:
	BCMenu(); 
	virtual ~BCMenu();

	// Functions for loading and applying bitmaps to menus (see example application)
	virtual BOOL LoadMenu(LPCTSTR lpszResourceName);
	virtual BOOL LoadMenu(int nResource);
	BOOL LoadToolbar(UINT nToolBar);
	BOOL LoadToolbars(const UINT *arID,int n);
	void AddFromToolBar(CToolBar* pToolBar, int nResourceID);
	BOOL LoadFromToolBar(UINT nID,UINT nToolBar,int& xoffset);
	BOOL AddBitmapToImageList(CImageList *list,UINT nResourceID);
	static HBITMAP LoadSysColorBitmap(int nResourceId);
	void LoadCheckmarkBitmap(int unselect,int select); // custom check mark bitmaps
	
	// functions for appending a menu option, use the AppendMenu call (see above define)
	BOOL AppendMenuA(UINT nFlags,UINT nIDNewItem=0,const char *lpszNewItem=NULL,int nIconNormal=-1);
	BOOL AppendMenuA(UINT nFlags,UINT nIDNewItem,const char *lpszNewItem,CImageList *il,int xoffset);
	BOOL AppendMenuA(UINT nFlags,UINT nIDNewItem,const char *lpszNewItem,CBitmap *bmp);
	BOOL AppendMenuW(UINT nFlags,UINT nIDNewItem=0,wchar_t *lpszNewItem=NULL,int nIconNormal=-1);
	BOOL AppendMenuW(UINT nFlags,UINT nIDNewItem,wchar_t *lpszNewItem,CImageList *il,int xoffset);
	BOOL AppendMenuW(UINT nFlags,UINT nIDNewItem,wchar_t *lpszNewItem,CBitmap *bmp);
	BOOL AppendODMenuA(LPCSTR lpstrText,UINT nFlags = MF_OWNERDRAW,UINT nID = 0,int nIconNormal = -1);  
	BOOL AppendODMenuW(wchar_t *lpstrText,UINT nFlags = MF_OWNERDRAW,UINT nID = 0,int nIconNormal = -1);  
	BOOL AppendODMenuA(LPCSTR lpstrText,UINT nFlags,UINT nID,CImageList *il,int xoffset);
	BOOL AppendODMenuW(wchar_t *lpstrText,UINT nFlags,UINT nID,CImageList *il,int xoffset);
	
	// for appending a popup menu (see example application)
	BCMenu* AppendODPopupMenuA(LPCSTR lpstrText);
	BCMenu* AppendODPopupMenuW(wchar_t *lpstrText);

	// functions for inserting a menu option, use the InsertMenu call (see above define)
	BOOL InsertMenuA(UINT nPosition,UINT nFlags,UINT nIDNewItem=0,const char *lpszNewItem=NULL,int nIconNormal=-1);
	BOOL InsertMenuA(UINT nPosition,UINT nFlags,UINT nIDNewItem,const char *lpszNewItem,CImageList *il,int xoffset);
	BOOL InsertMenuA(UINT nPosition,UINT nFlags,UINT nIDNewItem,const char *lpszNewItem,CBitmap *bmp);
	BOOL InsertMenuW(UINT nPosition,UINT nFlags,UINT nIDNewItem=0,wchar_t *lpszNewItem=NULL,int nIconNormal=-1);
	BOOL InsertMenuW(UINT nPosition,UINT nFlags,UINT nIDNewItem,wchar_t *lpszNewItem,CImageList *il,int xoffset);
	BOOL InsertMenuW(UINT nPosition,UINT nFlags,UINT nIDNewItem,wchar_t *lpszNewItem,CBitmap *bmp);
	BOOL InsertODMenuA(UINT nPosition,LPCSTR lpstrText,UINT nFlags = MF_OWNERDRAW,UINT nID = 0,int nIconNormal = -1); 
	BOOL InsertODMenuW(UINT nPosition,wchar_t *lpstrText,UINT nFlags = MF_OWNERDRAW,UINT nID = 0,int nIconNormal = -1);  
	BOOL InsertODMenuA(UINT nPosition,LPCSTR lpstrText,UINT nFlags,UINT nID,CImageList *il,int xoffset);
	BOOL InsertODMenuW(UINT nPosition,wchar_t *lpstrText,UINT nFlags,UINT nID,CImageList *il,int xoffset);
	
	// functions for modifying a menu option, use the ModifyODMenu call (see above define)
	BOOL ModifyODMenuA(const char *lpstrText,UINT nID=0,int nIconNormal=-1);
	BOOL ModifyODMenuA(const char *lpstrText,UINT nID,CImageList *il,int xoffset);
	BOOL ModifyODMenuA(const char *lpstrText,UINT nID,CBitmap *bmp);
	BOOL ModifyODMenuA(const char *lpstrText,const char *OptionText,int nIconNormal);
	BOOL ModifyODMenuW(wchar_t *lpstrText,UINT nID=0,int nIconNormal=-1);
	BOOL ModifyODMenuW(wchar_t *lpstrText,UINT nID,CImageList *il,int xoffset);
	BOOL ModifyODMenuW(wchar_t *lpstrText,UINT nID,CBitmap *bmp);
	BOOL ModifyODMenuW(wchar_t *lpstrText,wchar_t *OptionText,int nIconNormal);
	// use this method for adding a solid/hatched colored square beside a menu option
	// courtesy of Warren Stevens
	BOOL ModifyODMenuA(const char *lpstrText,UINT nID,COLORREF fill,COLORREF border,int hatchstyle=-1,CSize *pSize=NULL);
	BOOL ModifyODMenuW(wchar_t *lpstrText,UINT nID,COLORREF fill,COLORREF border,int hatchstyle=-1,CSize *pSize=NULL);
	
	// for deleting and removing menu options
	BOOL	RemoveMenu(UINT uiId,UINT nFlags);
	BOOL	DeleteMenu(UINT uiId,UINT nFlags);
	// sPos means Seperator's position, since we have no way to find the seperator's position in the menu
	// we have to specify them when we call the RemoveMenu to make sure the unused seperators are removed;
	// sPos  = None no seperator removal;
	//       = Head  seperator in front of this menu item;
	//       = Tail  seperator right after this menu item;
	//       = Both  seperators at both ends;
	// remove the menu item based on their text, return -1 if not found, otherwise return the menu position;
	int RemoveMenu(char* pText, BC_Seperator sPos=BCMENU_NONE);
	int RemoveMenu(wchar_t* pText, BC_Seperator sPos=BCMENU_NONE);
	int DeleteMenu(char* pText, BC_Seperator sPos=BCMENU_NONE);
	int DeleteMenu(wchar_t* pText, BC_Seperator sPos=BCMENU_NONE);
	
	// Destoying
	virtual BOOL DestroyMenu();

	// 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
	BCMenu* GetSubBCMenu(char* lpszSubMenuName);
	BCMenu* GetSubBCMenu(wchar_t* lpszSubMenuName);
	CMenu* GetSubMenu (LPCTSTR lpszSubMenuName);
	CMenu* GetSubMenu (int nPos);
	int GetMenuPosition(char* pText);
	int GetMenuPosition(wchar_t* pText);

	// Drawing: 
	virtual void DrawItem( LPDRAWITEMSTRUCT);  // Draw an item
	virtual void MeasureItem( LPMEASUREITEMSTRUCT );  // Measure an item

	// Static functions used for handling menu's in the mainframe
	static void UpdateMenu(CMenu *pmenu);
	static BOOL IsMenu(CMenu *submenu);
	static BOOL IsMenu(HMENU submenu);
	static LRESULT FindKeyboardShortcut(UINT nChar,UINT nFlags,CMenu *pMenu);

	// Function to set how menu is drawn, either original or XP style
	static void SetMenuDrawMode(UINT mode){
		BCMenu::original_drawmode=mode;
		BCMenu::xp_drawmode=mode;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜免费视频| 色诱亚洲精品久久久久久| 成人激情免费视频| 51精品秘密在线观看| 亚洲男人电影天堂| 国产精品系列在线观看| 欧美丰满一区二区免费视频 | 亚洲二区视频在线| 国产精品18久久久久久久久| 欧美三级资源在线| 日韩伦理av电影| 成人永久免费视频| 2023国产精品自拍| 免费看日韩a级影片| 欧美三级中文字| 亚洲一区在线免费观看| 91伊人久久大香线蕉| 欧美—级在线免费片| 国产乱国产乱300精品| 欧美videos中文字幕| 日韩激情在线观看| 欧美久久久久免费| 午夜精品福利视频网站| 91国模大尺度私拍在线视频| 国产精品黄色在线观看| 成人不卡免费av| 国产精品理伦片| 丁香五精品蜜臀久久久久99网站| 久久久久久久久久美女| 精品一区二区三区在线观看国产| 欧美高清视频在线高清观看mv色露露十八 | 99免费精品视频| 国产精品久久久久久久第一福利| 国产乱码字幕精品高清av| 日韩欧美中文一区二区| 精品中文字幕一区二区| 欧美电视剧免费观看| 狠狠网亚洲精品| 久久免费看少妇高潮| 国产成人精品免费视频网站| 中文无字幕一区二区三区| aa级大片欧美| 亚洲香蕉伊在人在线观| 日韩一区二区三区视频| 久久99精品久久久久久国产越南 | 67194成人在线观看| 日韩不卡一区二区三区 | 制服.丝袜.亚洲.另类.中文| 青娱乐精品视频| 久久精品免费在线观看| 成人h版在线观看| 一区二区日韩av| 欧美久久久久免费| 国产一区在线精品| 中文字幕一区二区三| 欧美日韩在线不卡| 久久精品72免费观看| 欧美国产日韩在线观看| 91啪亚洲精品| 捆绑紧缚一区二区三区视频| 国产欧美一区二区在线| 欧美日韩一区不卡| 国产自产2019最新不卡| 亚洲免费视频成人| 日韩欧美综合一区| 99久久99久久久精品齐齐| 五月综合激情婷婷六月色窝| 国产三级精品三级在线专区| 欧美综合欧美视频| 国产真实乱偷精品视频免| 亚洲色图制服丝袜| 精品区一区二区| 91行情网站电视在线观看高清版| 美女视频黄 久久| 亚洲美女一区二区三区| 欧美草草影院在线视频| 欧美性一级生活| 激情综合色播五月| 亚洲一线二线三线久久久| 国产欧美精品国产国产专区| 欧美在线不卡视频| 高清在线不卡av| 麻豆国产欧美一区二区三区| 亚洲区小说区图片区qvod| 精品国产一二三| 337p亚洲精品色噜噜| 91视视频在线观看入口直接观看www | 日韩精品一区二区在线观看| 日本丶国产丶欧美色综合| 国精产品一区一区三区mba桃花| 亚洲精品乱码久久久久久日本蜜臀| 精品少妇一区二区三区日产乱码| 在线观看成人免费视频| 成人激情视频网站| 国产精品一区二区在线播放 | 亚洲成人午夜影院| 中文字幕制服丝袜一区二区三区 | 欧美一区二区三区爱爱| 91久久精品一区二区三区| av一本久道久久综合久久鬼色| 久久成人免费电影| 久久99在线观看| 免费的成人av| 捆绑变态av一区二区三区| 婷婷激情综合网| 午夜国产不卡在线观看视频| 亚洲欧美偷拍卡通变态| 自拍偷拍亚洲综合| 中文字幕一区不卡| 《视频一区视频二区| 国产精品欧美综合在线| 国产精品卡一卡二| 国产精品毛片无遮挡高清| 久久久久久99久久久精品网站| 精品久久久久久最新网址| 欧美电影免费观看高清完整版 | 亚洲桃色在线一区| 亚洲精品一卡二卡| 一区二区三区四区在线免费观看| 1024成人网| 亚洲观看高清完整版在线观看| 性做久久久久久久免费看| 午夜精品成人在线| 精品一区二区三区影院在线午夜 | 加勒比av一区二区| 激情综合色播五月| 粉嫩aⅴ一区二区三区四区五区| 丁香网亚洲国际| 91看片淫黄大片一级在线观看| 色婷婷综合久久| 欧美日韩国产精选| 精品不卡在线视频| 国产精品美女视频| 夜夜爽夜夜爽精品视频| 免费精品视频最新在线| 极品美女销魂一区二区三区免费| 国产成人综合在线播放| 波多野结衣中文字幕一区二区三区| 99r国产精品| 91麻豆精品国产自产在线| 欧美大片在线观看| 国产精品久久久久久久久快鸭 | 亚洲国产一二三| 蜜桃精品视频在线观看| 欧美色图天堂网| 日韩欧美成人一区| 亚洲欧洲av另类| 日韩av午夜在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美日韩综合在线| 欧美v国产在线一区二区三区| 中文字幕一区二区三区四区不卡| 午夜日韩在线电影| 成人一区二区视频| 欧美精品1区2区3区| 欧美高清一级片在线观看| 亚洲一区二区综合| 国产精品综合av一区二区国产馆| 91视频免费播放| 精品国产百合女同互慰| 亚洲线精品一区二区三区| 国产乱一区二区| 欧美日韩小视频| 国产精品毛片大码女人 | 五月激情综合网| 成人午夜av影视| 日韩欧美不卡在线观看视频| 亚洲色图第一区| 国产精品一级片在线观看| 欧美巨大另类极品videosbest | 日本黄色一区二区| 久久婷婷成人综合色| 亚洲国产aⅴ成人精品无吗| 成人少妇影院yyyy| 亚洲精品一区二区精华| 亚洲图片自拍偷拍| 91色视频在线| 国产精品电影一区二区| 黄色日韩三级电影| 欧美一级日韩免费不卡| 一区二区三区在线播放| 99久久综合狠狠综合久久| 久久精品这里都是精品| 美女在线观看视频一区二区| 精品1区2区3区| 精品久久久久久久人人人人传媒| 亚洲欧洲av另类| 国产成人av电影免费在线观看| 91精品国产一区二区| 亚洲精品菠萝久久久久久久| 粉嫩蜜臀av国产精品网站| 久久午夜电影网| 精品在线一区二区| 日韩无一区二区| 麻豆国产精品视频| 欧美成人性战久久| 精品亚洲国内自在自线福利| 日韩免费高清视频| 免费精品视频在线| 日韩精品一区二区三区中文精品|