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

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

?? mycoolmenu.cpp

?? 圖書管理系統
?? CPP
字號:
// MyCoolMenu.cpp: implementation of the CMyCoolMenu class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MyCoolMenu.h"
#include "bbb.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
extern CBbbApp theApp;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMyCoolMenu::CMyCoolMenu()
{
	index = 0;
}

CMyCoolMenu::~CMyCoolMenu()
{
	index = 0;
}

/**********************************************************
函  數  名: ChangeMenuStyle
作      用: 改變主菜單的風格
形  參  數: HMENU hMenu, BOOL bTop
返	回  值: BOOL,dndn成功時返回真,失敗時出錯
***********************************************************/
BOOL CMyCoolMenu::ChangeMenuStyle(HMENU hMenu, BOOL bTop = FALSE)
{
	CMenu *pMenu = CMenu::FromHandle(hMenu);
	if(pMenu != NULL)
	{
		for(UINT i = 0; i < pMenu->GetMenuItemCount(); i ++)
		{
			lpMenu[index].nMenuID = pMenu->GetMenuItemID(i);
			if(lpMenu[index].nMenuID < 0 && bTop)
			{
				lpMenu[index].nMenuID = -2;
			}
			pMenu->GetMenuString(i, lpMenu[index].strText, MF_BYPOSITION);
			pMenu->ModifyMenu(i, MF_OWNERDRAW|MF_BYPOSITION |MF_STRING,
				lpMenu[index].nMenuID,LPCTSTR(&lpMenu[index]));
			CMenu *pSubMenu = pMenu->GetSubMenu(i);
			if(pSubMenu && lpMenu[index].nMenuID != -2 && !bTop)
			{
				lpMenu[index].nMenuID = -1;
			}
			index += 1;
			if(pSubMenu)
			{
				ChangeMenuStyle(pSubMenu->GetSafeHmenu());
			}
		}
	}
	return TRUE;
}
/**********************************************************
函  數  名: AttachMenu
作      用: 將當前窗口的菜單與我的菜單關聯
形  參  數: HMENU hMenu,UINT uToolBarID,CSize sz
返	回  值: BOOL,dndn成功時返回真,失敗時出錯UINT uToolBarID,
***********************************************************/
BOOL CMyCoolMenu::AttachMenu(HMENU hMenu,CSize sz)
{
	Attach(hMenu);
	ChangeMenuStyle(hMenu, TRUE);
	return TRUE;
}

/**********************************************************
函  數  名: DrawBestRect
作      用: 畫出最炫麗的效果來
形  參  數: CDC *pDC, CRect rect, COLORREF cr1,COLORREF cr2, BOOL bHor
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawBestRect(CDC *pDC, CRect rect, COLORREF cr1,COLORREF cr2, BOOL bHor)
{
	int r1 = GetRValue(cr1);
	int g1 = GetGValue(cr1);
	int b1 = GetBValue(cr1);
	int r2 = GetRValue(cr2);
	int g2 = GetGValue(cr2);
	int b2 = GetBValue(cr2);
	float dr = ((float)(r2 - r1))/(float)(rect.Width());
	float dg = ((float)(g2 - g1))/(float)(rect.Width());
	float db = ((float)(b2 - b1))/(float)(rect.Width());
	for(int i = rect.left; i < rect.right; i ++)
	{
		int r = r1 + (int)(dr*((float)(i - rect.left)));
		int g = g1 + (int)(dg*((float)(i - rect.left)));
		int b = b1 + (int)(db*((float)(i - rect.left)));
		CPen pen(PS_SOLID, 1, RGB(r, g, b));
		CPen *old = pDC->SelectObject(&pen);
		pDC->MoveTo(i, rect.top);
		pDC->LineTo(i, rect.bottom);
	}
}
/**********************************************************
函  數  名: DrawTop
作      用: 畫最頂端菜單
形  參  數: CDC *pDC,CRect rect,BOOL bSelected
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawTop(CDC *pDC,CRect rect,BOOL bSelected)
{	
	if(bSelected)
	{
		pDC->SelectStockObject(BLACK_PEN);
		pDC->Rectangle(&rect);
		rect.DeflateRect(1, 1);
		pDC->FillSolidRect(&rect, RGB(185, 185, 255));
	}
	else
	{		
		CRect rtWnd;		
		AfxGetMainWnd()->GetClientRect(&rtWnd);
		CRect rcGray(rect);
		rcGray.left = 300;
		rcGray.right = rtWnd.right + 4;		
		pDC->FillSolidRect(&rcGray,RGB(255, 176, 55));
		CRect rcWhite(rect);		
		pDC->FillSolidRect(&rcWhite,RGB(255, 176, 55));	
	}
}
/**********************************************************
函  數  名: DrawBGColor
作      用: 菜單項的背景由它來完成
形  參  數: CDC* pDC, CRect rect, BOOL bSelected
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawBGColor(CDC* pDC, CRect rect, BOOL bSelected)
{
	if(bSelected)
	{
		pDC->SelectStockObject(NULL_BRUSH);
		pDC->SelectStockObject(BLACK_PEN);
		pDC->Rectangle(&rect);
		rect.DeflateRect(1, 1);
		DrawBestRect(pDC,rect,100,255,TRUE);
	}
	else
	{
		CRect rcGray(rect);
		rcGray.right = rcGray.left + Public_Area;
		pDC->FillSolidRect(&rcGray, RGB(0, 0, 0));
		CRect rcWhite(rect);
		rcWhite.left = rcGray.right;
		pDC->FillSolidRect(&rcWhite,RGB(255, 255, 255));
	}
}
/**********************************************************
函  數  名: DrawText
作      用: 畫出菜單項的文本
形  參  數: CDC* pDC, CRect rect, CString sText
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawText(CDC* pDC, CRect rect, CString sText)
{
	pDC->DrawText(sText, &rect, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
}
/**********************************************************
函  數  名: DrawGray
作      用: 輸出無效菜單項的文本
形  參  數: CDC* pDC, CRect rect, CString sText
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawGray(CDC* pDC, CRect rect, CString sText)
{
	int nMode =pDC->SetBkMode(TRANSPARENT);
	pDC->SetTextColor(RGB(127,127,127));
	pDC->DrawText("   "+sText,&rect,DT_EXPANDTABS|DT_VCENTER|DT_SINGLELINE);
	
}
/**********************************************************
函  數  名: DrawItem
作      用: 分開畫每一菜單項
形  參  數: LPDRAWITEMSTRUCT  lpDIS,菜單上下文
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::DrawItem(LPDRAWITEMSTRUCT  lpDIS)
{	
	CDC* pDC = CDC::FromHandle(lpDIS->hDC);	
	VERIFY(pDC);pDC->SetBkMode(TRANSPARENT);
	CRect rcItem = lpDIS->rcItem;
	UINT uState  = lpDIS->itemState;	
	if(lpDIS->itemData == NULL)	return;
	CString strText = ((CMenuItemContext*)(lpDIS->itemData))->strText;
	UINT nMenuID    = ((CMenuItemContext*)(lpDIS->itemData))->nMenuID;
	CRect rcText(rcItem);
	switch(nMenuID)
	{
	case -2:// -2:頂層菜單條   
		if(uState&ODS_SELECTED)
		{
			DrawTop(pDC,rcItem,TRUE);
		}
		else
		{
			DrawTop(pDC,rcItem,FALSE);
		}
		DrawText(pDC,rcItem,strText);
		break;
	case -1://-1:彈出菜單  
		strText= "\t   "+strText;
		if(uState&ODS_SELECTED)
			DrawBestRect(pDC,rcItem,RGB(255,0,255),RGB(255,255,255),TRUE);
		else
			DrawTop(pDC,rcItem,TRUE);
		DrawText(pDC,rcText,strText);
		break;
	case 0://0:分隔條  
		rcText.top    = rcText.Height()/2+rcText.top ;
		rcText.bottom = rcText.top +2;
		rcText.left  += 2;
		rcText.right -= 2;
		pDC->Draw3dRect(rcText,RGB(64,0,128),RGB(255,255,255));
		break;
	default://>0:一般的菜單	
		if(uState&ODS_SELECTED)//被選擇,
		{
			rcItem.left  -= 20;
			rcItem.right -= 0;
			DrawBGColor(pDC,rcItem,TRUE);
		}
		else
		{
			rcItem.left  -= 20;
			rcItem.right -= 0;
			DrawBGColor(pDC,rcItem,FALSE);//
		}
		if(uState&ODS_GRAYED)
		{
			DrawGray(pDC,rcText,strText);
			break;
		}
		if(uState&ODS_CHECKED)//是被check過的,
		{
			DrawText(pDC,rcText,"   "+strText);//當前狀態是check!
			break;
		}
		else
		{
			DrawText(pDC,rcText,"      "+strText);//未選取
			break;
		}
		break;
	}
}
/**********************************************************
函  數  名: MeasureItem
作      用: 設置每一項的風格等
形  參  數: LPMEASUREITEMSTRUCT lpMIS要用到的結構
返	回  值: NULL
***********************************************************/
void CMyCoolMenu::MeasureItem(LPMEASUREITEMSTRUCT lpMIS)
{	
	lpMIS->itemWidth = 130;
	lpMIS->itemHeight = 26;
	UINT nMenuID= ((CMenuItemContext*)(lpMIS->itemData))->nMenuID;
	switch(nMenuID)
	{
	case -2:// -2:頂層菜單條  
		lpMIS->itemWidth =((CMenuItemContext*)(lpMIS->itemData))->strText.GetLength()*5;
		break;
	case -1://-1:彈出菜單  
		lpMIS->itemWidth =((CMenuItemContext*)(lpMIS->itemData))->strText.GetLength()*10;
		break;
	case 0://0:分隔條
		lpMIS->itemHeight =10;
		break;
	default://>0:一般的菜單		
		break;	
	}
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人aaa| 欧美成人欧美edvon| 91精品综合久久久久久| 中日韩免费视频中文字幕| 亚洲国产美女搞黄色| 国产福利不卡视频| 欧美人妇做爰xxxⅹ性高电影| 国产日韩欧美电影| 日本vs亚洲vs韩国一区三区二区 | 色一区在线观看| 日韩限制级电影在线观看| 亚洲色图在线视频| 风间由美一区二区三区在线观看 | 欧美日韩视频第一区| 欧美国产精品专区| 韩国一区二区在线观看| 欧美美女激情18p| 伊人色综合久久天天人手人婷| 国产经典欧美精品| 欧美一级片在线观看| 亚洲在线成人精品| 色综合久久88色综合天天| 国产免费久久精品| 国产传媒一区在线| 久久综合999| 国内精品国产成人国产三级粉色 | 国产91对白在线观看九色| 91精品国产91久久久久久一区二区| 一区在线观看免费| 国产白丝网站精品污在线入口| 久久久精品黄色| 国产福利一区二区三区视频在线| 精品av久久707| 狠狠色丁香婷综合久久| 欧美成人精精品一区二区频| 免费不卡在线视频| 91精品婷婷国产综合久久| 亚洲国产综合人成综合网站| 欧美在线观看一二区| 亚洲一区视频在线| 777精品伊人久久久久大香线蕉| 亚洲午夜激情网页| 欧美老年两性高潮| 久色婷婷小香蕉久久| 日韩精品综合一本久道在线视频| 精品夜夜嗨av一区二区三区| 国产性天天综合网| 成人免费视频app| 亚洲免费伊人电影| 欧美巨大另类极品videosbest| 日本亚洲一区二区| 精品日产卡一卡二卡麻豆| 国产一区二区主播在线| 国产精品免费视频网站| 91麻豆免费观看| 午夜精品久久久久久久99水蜜桃| 这里只有精品视频在线观看| 国产一区免费电影| 亚洲天天做日日做天天谢日日欢| 在线一区二区观看| 日本欧美肥老太交大片| 国产日产亚洲精品系列| 色94色欧美sute亚洲13| 日韩成人免费电影| 欧美国产国产综合| 欧美日韩国产色站一区二区三区| 久久爱另类一区二区小说| 久久精品亚洲乱码伦伦中文| 欧美亚洲国产bt| 国产一区二区在线看| 亚洲欧洲精品一区二区三区不卡| 欧美日韩精品一二三区| 国产精品1区2区3区在线观看| 亚洲一区二区中文在线| 欧美精品一区二区三| 欧美综合在线视频| 狠狠久久亚洲欧美| 亚洲午夜私人影院| 欧美经典一区二区| 91麻豆精品国产91久久久资源速度| 国产盗摄视频一区二区三区| 午夜精品视频在线观看| 国产精品久久久久久久久免费樱桃| 9191久久久久久久久久久| 国产成人夜色高潮福利影视| 日韩黄色免费电影| 亚洲三级在线观看| 久久久精品黄色| 7777精品伊人久久久大香线蕉完整版 | 精品国产一区久久| 91视频在线观看| 国产一区二区不卡| 日本欧美一区二区三区乱码| 亚洲精品成人悠悠色影视| 久久亚洲捆绑美女| 欧美一区二区成人6969| 在线一区二区三区做爰视频网站| 北条麻妃国产九九精品视频| 久久精工是国产品牌吗| 亚洲一区二区不卡免费| 亚洲精品你懂的| 亚洲日本青草视频在线怡红院| 久久久久88色偷偷免费| 日韩亚洲欧美综合| 欧美精品久久久久久久多人混战| 91日韩在线专区| 91丨九色丨黑人外教| 成人综合在线视频| 丁香婷婷综合色啪| 国产成a人亚洲精| 成人免费毛片片v| 99久久国产综合精品女不卡| 成人午夜激情在线| 成人精品视频一区二区三区| 成人午夜电影久久影院| 成人精品视频一区二区三区| 粉嫩久久99精品久久久久久夜| 国产精品18久久久久久久网站| 激情综合色丁香一区二区| 蜜臀久久久久久久| 日本成人在线不卡视频| 日韩一区精品字幕| 麻豆专区一区二区三区四区五区| 日本欧美肥老太交大片| 日本在线播放一区二区三区| 免费成人你懂的| 国产在线一区观看| 成人黄色小视频在线观看| av色综合久久天堂av综合| 99久久er热在这里只有精品66| 9人人澡人人爽人人精品| av在线这里只有精品| 在线视频你懂得一区| 在线不卡一区二区| 欧美tickling网站挠脚心| 久久久久久久综合日本| 国产精品久久综合| 亚洲永久免费视频| 九九国产精品视频| 成人激情视频网站| 欧美三级资源在线| 精品国产乱码久久久久久闺蜜| 国产欧美日韩另类视频免费观看| 亚洲乱码国产乱码精品精98午夜| 亚洲影院久久精品| 国产在线视频精品一区| 91一区一区三区| 日韩一区二区三区视频| 欧美激情一区二区三区四区| 一区二区三区免费看视频| 免费人成精品欧美精品| 国产91丝袜在线观看| 欧美性高清videossexo| 欧美精品一区二| 亚洲成人你懂的| 国产成人综合网| 欧美视频在线观看一区二区| 亚洲成人免费电影| 国产精品一区在线观看乱码| 欧美性xxxxx极品少妇| 久久综合九色综合欧美亚洲| 一区二区三区欧美| 国产激情一区二区三区桃花岛亚洲| 色av成人天堂桃色av| 久久亚洲欧美国产精品乐播| 午夜婷婷国产麻豆精品| 国产成人综合视频| 日韩一卡二卡三卡国产欧美| 中文字幕日本乱码精品影院| 久久se精品一区精品二区| 色欧美片视频在线观看在线视频| 久久九九99视频| 久久99国产精品久久99| 欧美老肥妇做.爰bbww| 自拍偷拍亚洲欧美日韩| 国产精品羞羞答答xxdd| 91精品国产综合久久精品麻豆 | 久久精品水蜜桃av综合天堂| 亚洲gay无套男同| 成人app在线| 欧美激情一区二区三区四区| 久久99久久久欧美国产| 欧美三区免费完整视频在线观看| 国产精品看片你懂得| 国产剧情在线观看一区二区| 日韩欧美黄色影院| 天天操天天色综合| 欧美日韩在线播放| 亚洲夂夂婷婷色拍ww47| 色综合一个色综合| 国产精品剧情在线亚洲| 成人h动漫精品一区二| 国产精品全国免费观看高清| 国产高清亚洲一区| 久久久国产综合精品女国产盗摄| 久久99久久精品| 久久久久国产一区二区三区四区| 国产主播一区二区| 国产日韩欧美综合一区| 国产精品69毛片高清亚洲|