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

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

?? categorybar.cpp

?? 本程序是VC為平臺開發的股票資訊系統
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
// CategoryBar.cpp : implementation file
//

#include "stdafx.h"
#include "StockRefer.h"
#include "CategoryBar.h"
#include "GroupEdit.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCategoryBar

IMPLEMENT_DYNCREATE(CCategoryBar, CWnd)

CCategoryBar::CCategoryBar()
{
	crBackGroundColor	= ::GetSysColor(COLOR_3DSHADOW);//RGB(0,128,128);//
	crBackGroundColor1	= ::GetSysColor(COLOR_3DSHADOW);
	crTextColor			= ::GetSysColor(COLOR_WINDOW);
	cr3dFace			= ::GetSysColor(COLOR_3DFACE);
	crLightBorder		= ::GetSysColor(COLOR_3DLIGHT);
	crHilightBorder		= ::GetSysColor(COLOR_3DHILIGHT);
	crShadowBorder		= ::GetSysColor(COLOR_3DSHADOW);
	crDkShadowBorder	= ::GetSysColor(COLOR_3DDKSHADOW);

	pBlackPen = new CPen(PS_SOLID, 1, RGB(0,0,0));

	iFolderHeight = 22;

	dwFlags = fDragItems|fEditGroups|fEditItems|fRemoveGroups|fRemoveItems|fAddGroups|fAnimation|fSelHighlight;

	iSelFolder = 0;

	iLastFolderHighlighted = -1;
	iLastSelectedFolder = -1;
	
	pLargeImageList = NULL;
	pSmallImageList = NULL;

	iFirstItem = 0;

	xSmallIconLabelOffset = 4;
	yLargeIconLabelOffset = 3;

	ySmallIconSpacing = 10;
	yLargeIconSpacing = 8;

	xLeftMargin = 5;
	yTopMargin = 5;

	bUpArrow = bDownArrow = false;

	rcUpArrow = rcDownArrow = CRect(0,0,0,0);

	bUpPressed = bDownPressed = false;

	bLooping = false;

	iLastItemHighlighted = -1;
	bPressedHighlight = false;

	iLastDragItemDraw = -1;

	lAnimationTickCount = 10;

	iLastSel = -1;
	iSelAnimCount = 0;

	iSelAnimTiming = 0;
}

CCategoryBar::~CCategoryBar()
{
	for (int t = 0; t < arFolder.GetSize(); t++)
	{
		if (arFolder.GetAt(t)) delete (CBarFolder*) arFolder.GetAt(t);
	}

	arFolder.RemoveAll();

	delete pBlackPen;
}


BEGIN_MESSAGE_MAP(CCategoryBar, CWnd)
	//{{AFX_MSG_MAP(CCategoryBar)
	ON_WM_TIMER()
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	ON_WM_SETCURSOR()
	ON_WM_SIZE()
	ON_WM_RBUTTONDOWN()
	ON_WM_SYSCOLORCHANGE()
	//}}AFX_MSG_MAP
	ON_COMMAND(ID_CATEGORY_LARGEICON, OnCategoryLargeicon)
	ON_UPDATE_COMMAND_UI(ID_CATEGORY_LARGEICON, OnUpdateCategoryLargeicon)
	ON_COMMAND(ID_CATEGORY_SMALLICON, OnCategorySmallicon)
	ON_UPDATE_COMMAND_UI(ID_CATEGORY_SMALLICON, OnUpdateCategorySmallicon)
	ON_COMMAND(ID_CATEGORY_HIDE, OnCategoryHide)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CCategoryBar message handlers

void CCategoryBar::SetFolderText( const int index, LPCTSTR text )
{
	ASSERT(index >= 0 && index < GetFolderCount());
	
	CBarFolder* pbf = (CBarFolder *) arFolder.GetAt(index);
	
	if( pbf->cName )
	{
		delete [] pbf->cName;
		pbf->cName = NULL;
	}
	
	pbf->cName = new TCHAR[ _tcslen( text ) + 1 ];

	_tcscpy( pbf->cName, text );
}

void CCategoryBar::SetItemText( const int index, LPCTSTR text )
{
	ASSERT(iSelFolder >= 0 && iSelFolder < GetFolderCount());

	CBarFolder* pbf = (CBarFolder*) arFolder.GetAt(iSelFolder);

	CBarItem*	pi	= (CBarItem*) pbf->arItems.GetAt(index);

	if (pi->cItem) 
	{
		delete [] pi->cItem;
		pi->cItem = NULL;
	}

	pi->cItem = new TCHAR[ _tcslen( text ) + 1 ];
	
	_tcscpy( pi->cItem, text );
}

BOOL CCategoryBar::Create(DWORD dwStyle, const RECT & rect, CWnd * pParentWnd, UINT nID, const DWORD dwFlag)
{
	dwFlags = dwFlag;
	return CWnd::CreateEx(WS_EX_STATICEDGE, NULL, NULL, dwStyle|WS_CHILD, rect, pParentWnd, nID);
	//GFXOUTBARCTRL_CLASSNAME
}

bool CCategoryBar::IsSmallIconView() const
{
	return dwFlags&fSmallIcon;
}

void CCategoryBar::SetSmallIconView(const bool bSet)
{
	iFirstItem = 0;

	if (bSet)
	{
		if (!IsSmallIconView()) 
		{
			dwFlags |= fSmallIcon;
			CRect rc;
			GetInsideRect(rc);
			InvalidateRect(rc, false);
		}
	}
	else
	{
		if (IsSmallIconView()) 
		{
			dwFlags &= ~fSmallIcon;
			CRect rc;
			GetInsideRect(rc);
			InvalidateRect(rc, false);
		}
	}
}

DWORD CCategoryBar::GetFlag() const
{
	return dwFlags;
}

void CCategoryBar::ModifyFlag(const DWORD & dwRemove, const DWORD & dwAdd, const UINT redraw)
{
	if (dwRemove)	dwFlags &= ~(dwRemove);
	if (dwAdd)		dwFlags |= dwAdd;

	if (GetSafeHwnd())
	{
		if (redraw != 0) SetWindowPos(0,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|redraw);
		else Invalidate();
	}
}
/*
void CCategoryBar::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	if (nIDEvent == 1)
	{
		CPoint pt(GetMessagePos());

		ScreenToClient(&pt);

		CRect rc;
		GetClientRect(&rc);
		if (!(rc.PtInRect(pt)))
		{
			HighlightFolder(-1);
			HighlightItem(-1);
			KillTimer(1);
		}
	}
	else if (nIDEvent == 3 && iLastSel >= 0)
	{
		iSelAnimCount ++;
		if (iSelAnimCount > 10) iSelAnimCount = -1;
		if (iSelAnimCount == 0)
			DrawAnimItem(-1, 1, iLastSel);
		if (iSelAnimCount == 1)
			DrawAnimItem(0, 0, iLastSel);
		if (iSelAnimCount == 2)
			DrawAnimItem(1, 1, iLastSel);
		if (iSelAnimCount == 3)
			DrawAnimItem(0, 0, iLastSel);
	}
	
	CWnd::OnTimer(nIDEvent);
}
*/
void CCategoryBar::DrawAnimItem(const int xoffset, const int yoffset, const int index)
{
	CImageList * ima = GetFolderImageList(iSelFolder, IsSmallIconView());

	CRect rc, irc;
	GetInsideRect(irc);
	GetItemRect(iSelFolder, iLastSel, rc);

	if (iLastSel >= iFirstItem && irc.bottom > rc.bottom && irc.top < rc.top)
	{
		ASSERT(iSelFolder >= 0 && iSelFolder < GetFolderCount());
		CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);

		ASSERT(index >= 0 && index < pbf->GetItemCount());
		CBarItem * pi = (CBarItem *) pbf->arItems.GetAt(index);

		ASSERT(pi && ima);

		CClientDC dc(this);

		if (IsSmallIconView())
		{
			if (ima)
			{
				IMAGEINFO ii;
				ima->GetImageInfo(pi->iImageIndex, &ii);
				CSize szImage = CRect(ii.rcImage).Size();
				CPoint pt;
				pt.x = rc.left + 2;
				pt.y = rc.top + (rc.Height() - szImage.cy) / 2;

				CRect rcBck(pt.x-1, pt.y-1, pt.x + szImage.cx+2, pt.y + szImage.cy+2);
				dc.FillSolidRect(rcBck, crBackGroundColor);

				pt.x += xoffset;
				pt.y += yoffset;

				ima->Draw(&dc, pi->iImageIndex, pt, ILD_NORMAL);

			}
		}
		else
		{
			if (ima)
			{
				IMAGEINFO ii;
				ima->GetImageInfo(pi->iImageIndex, &ii);
				CSize szImage = CRect(ii.rcImage).Size();
				CPoint pt;
				pt.x = rc.left + (rc.Width() - szImage.cx) / 2;
				pt.y = rc.top;

				CRect rcBck(pt.x-1, pt.y-1, pt.x + szImage.cx+2, pt.y + szImage.cy+2);
				dc.FillSolidRect(rcBck, crBackGroundColor);

				pt.x += xoffset;
				pt.y += yoffset;

				ima->Draw(&dc, pi->iImageIndex, pt, ILD_NORMAL);
			}
		}
	}
}

void CCategoryBar::OnPaint() 
{
	CRect clientRc;
	GetClientRect(&clientRc);
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CDC memDC;
	memDC.CreateCompatibleDC(&dc);
	CBitmap bmp;
	bmp.CreateCompatibleBitmap(&dc, clientRc.Width(), clientRc.Height());
	CBitmap * obmp = memDC.SelectObject(&bmp);

	CDC * pDC = &memDC;

	CRect rc;
	GetInsideRect(rc);
	if (!GetFolderChild()) pDC->FillSolidRect(rc, crBackGroundColor);


	int max = arFolder.GetSize();
	CRect frc;
	for (int t = 0; t < max; t++)
	{
		GetFolderRect(t, frc);
		DrawFolder(pDC, t, frc, false);
	}
	if (!GetFolderChild())
	{
		int f,l;
		GetVisibleRange(iSelFolder, f,l);
		rcUpArrow.SetRect(0,0,GetSystemMetrics(SM_CXVSCROLL), GetSystemMetrics(SM_CXVSCROLL));
		rcDownArrow = rcUpArrow;
		rcUpArrow.OffsetRect(rc.right - 5 - GetSystemMetrics(SM_CXVSCROLL), rc.top +5);
		rcDownArrow.OffsetRect(rc.right - 5 - GetSystemMetrics(SM_CXVSCROLL), rc.bottom - 5 - GetSystemMetrics(SM_CXVSCROLL));

		if (f > 0)
		{
			if (bUpPressed) pDC->DrawFrameControl(rcUpArrow, DFC_SCROLL, DFCS_SCROLLUP|DFCS_PUSHED);
			else pDC->DrawFrameControl(rcUpArrow, DFC_SCROLL, DFCS_SCROLLUP);
			bUpArrow = true;
			pDC->ExcludeClipRect(rcUpArrow);
		}
		else bUpArrow = false;

		if (l < GetItemCount() - 1)
		{
			if (bDownPressed) pDC->DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN|DFCS_PUSHED);
			else pDC->DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN);
			bDownArrow = true;
			pDC->ExcludeClipRect(rcDownArrow);
		}
		else bDownArrow = false;

		PaintItems(pDC, iSelFolder, rc);
	}

	dc.BitBlt(clientRc.left, clientRc.top, clientRc.Width(), clientRc.Height(), &memDC, 0,0, SRCCOPY);

	memDC.SelectObject(obmp);

	if (iLastFolderHighlighted >= 0)
	{
		int i = iLastFolderHighlighted;
		iLastFolderHighlighted = -1;
		HighlightFolder(i);
	}
	if (iLastItemHighlighted >= 0)
	{
		int i = iLastItemHighlighted;
		iLastItemHighlighted = -1;
		HighlightItem(i, bPressedHighlight);
	}

	// fix potential resource leak - KStowell - 10-21-99
	memDC.DeleteDC();
	bmp.DeleteObject();
	
	// Do not call CWnd::OnPaint() for painting messages
}

BOOL CCategoryBar::OnEraseBkgnd(CDC* pDC) 
{
	// TODO: Add your message handler code here and/or call default
	return true;
	
//	return CWnd::OnEraseBkgnd(pDC);
}

bool CCategoryBar::GetFolderRect(const int iIndex, CRect & rect) const
{
	int max = arFolder.GetSize();
	ASSERT(iIndex >= 0 && iIndex < max);

	if (iIndex >= 0 && iIndex < max)
	{
		CRect rc;
		GetClientRect(rc);
		if (iIndex > iSelFolder)
			rect.SetRect(rc.left, rc.bottom - ((max - iIndex)) * iFolderHeight, rc.right, 
			rc.bottom - (max - iIndex - 1) * iFolderHeight);
		else 
			rect.SetRect(rc.left, rc.top + iIndex * iFolderHeight - 1, rc.right, 
			rc.top + (1 + iIndex) * iFolderHeight - 1);
		return true;
	}
	return false;
}

void CCategoryBar::GetItemRect(const int iFolder, const int iIndex, CRect & rect)
{
	CRect rc;
	GetInsideRect(rc);
	int top = rc.top;
	CSize sz(0,0);
	int y = 0;
	for (int t = 0; t < iIndex; t++)
	{
		sz = GetItemSize(iFolder, t, ircAll);
		top += sz.cy;

		if (IsSmallIconView()) 
		{
			top += ySmallIconSpacing; 
		}
		else 
		{
			top += yLargeIconSpacing;
		}
		if (t == iFirstItem - 1) y = top - rc.top;
	}
	sz = GetItemSize(iFolder, iIndex, ircAll);
	rect.SetRect(rc.left, top, rc.left + sz.cx, top + sz.cy);

	rect.top -= y;
	rect.bottom -= y;

	rect.left += xLeftMargin;
	rect.top  += yTopMargin;
	rect.bottom += yTopMargin;

	if (!IsSmallIconView()) 
	{
		rect.left = rc.left;
		rect.right = rc.right;
	}
}

void CCategoryBar::DrawFolder(CDC * pDC, const int iIdx, CRect rect, const bool bSelected)
{
	CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iIdx);

	if (!bSelected)
	{
		CPen pn1(PS_SOLID, 1, crBackGroundColor1);
		CPen * op = pDC->SelectObject(&pn1);
		pDC->MoveTo(rect.left, rect.top);
		pDC->LineTo(rect.right, rect.top);
		pDC->SelectObject(op);
		
		// fix potential resource leak - KStowell - 10-21-99
		pn1.DeleteObject();

		rect.top ++;

		pDC->Draw3dRect(rect, crHilightBorder, crBackGroundColor1);
		rect.InflateRect(-1,-1);
		pDC->FillSolidRect(rect, cr3dFace);
		int obk = pDC->SetBkMode(TRANSPARENT);
		CFont * of = pDC->SelectObject(CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT)));
		pDC->DrawText(CString(pbf->cName), rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		pDC->SetBkMode(obk);
		pDC->SelectObject(of);
	}
	else
	{
		CPen pn1(PS_SOLID, 1, crBackGroundColor1);
		CPen * op = pDC->SelectObject(&pn1);
		pDC->MoveTo(rect.left+1, rect.top);
		pDC->LineTo(rect.right, rect.top);
		pDC->SelectObject(op);

		// fix potential resource leak - KStowell - 10-21-99
		pn1.DeleteObject();

		rect.top ++;

		pDC->Draw3dRect(rect, crDkShadowBorder, crHilightBorder);
		rect.InflateRect(-1,-1);
		pDC->Draw3dRect(rect, crBackGroundColor1, cr3dFace);
		rect.InflateRect(-1,-1);

		pDC->FillSolidRect(rect, cr3dFace);

		int obk = pDC->SetBkMode(TRANSPARENT);
		CFont * of = pDC->SelectObject(CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT)));
		pDC->DrawText(CString(pbf->cName), rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		pDC->SetBkMode(obk);
		pDC->SelectObject(of);
	}
}

int CCategoryBar::AddFolder( LPCTSTR cFolderName, const DWORD exData )
{
	CBarFolder* pbf = new CBarFolder(cFolderName, exData);
	
	ASSERT(pbf);

	arFolder.Add((void *)pbf);

	return arFolder.GetSize() - 1;
}

CCategoryBar::CBarFolder::CBarFolder( LPCTSTR name, DWORD exData)
{
	cName  = NULL;
	dwData = exData;

	if( name )
	{
		cName = new TCHAR[ _tcslen( name ) + 1 ];

		ASSERT(cName);

		_tcscpy( cName, name );
	}

	pLargeImageList = NULL;
	pSmallImageList = NULL;
	pChild			= NULL;
}

CCategoryBar::CBarFolder::~CBarFolder()
{
	if (cName) delete [] cName;
	for (int t = 0; t < arItems.GetSize(); t++)
		if (arItems.GetAt(t)) delete (CBarFolder*) arItems.GetAt(t);

	arItems.RemoveAll();
}

void CCategoryBar::GetInsideRect(CRect & rect) const
{
	GetClientRect(rect);
	if (arFolder.GetSize() > 0)
	{
		int max = arFolder.GetSize();
		rect.top += iFolderHeight * (iSelFolder + 1) - 1;//+ 2;
		rect.bottom -= (max - iSelFolder - 1)*iFolderHeight;
		return;
	}
}

void CCategoryBar::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777女厕盗摄久久久| 大胆亚洲人体视频| 欧美日韩一区二区三区视频| 亚洲特级片在线| 色中色一区二区| 亚洲免费观看高清| 欧美性极品少妇| 午夜精品福利视频网站| 欧美一区二区三区四区久久| 日韩av一区二区三区| 欧美一区二区三区日韩视频| 久久99精品国产麻豆不卡| 精品免费一区二区三区| 丰满少妇在线播放bd日韩电影| 久久亚洲一区二区三区四区| 国产99久久久久| 亚洲乱码精品一二三四区日韩在线| 在线观看国产91| 蜜臀va亚洲va欧美va天堂| 久久欧美一区二区| 91热门视频在线观看| 日本sm残虐另类| 国产视频一区不卡| 欧美亚洲丝袜传媒另类| 久久99热这里只有精品| 国产精品嫩草影院av蜜臀| 欧美亚洲日本一区| 国产精品一级二级三级| 夜夜亚洲天天久久| 精品处破学生在线二十三| 波多野结衣精品在线| 性久久久久久久久久久久| 国产清纯白嫩初高生在线观看91| 色一区在线观看| 开心九九激情九九欧美日韩精美视频电影| 久久精品一区二区三区四区| 91成人网在线| 国产激情视频一区二区三区欧美| 洋洋av久久久久久久一区| 欧美精品一区二区三区四区 | 韩国av一区二区三区| 亚洲色图在线播放| 这里只有精品99re| 色老头久久综合| 国产成人在线影院| 奇米影视在线99精品| 亚洲色图都市小说| 精品国产一区久久| 欧美日韩一区二区在线观看| 国产成人免费高清| 美女一区二区三区| 亚洲一区二区黄色| 亚洲色图在线看| 国产欧美日韩在线视频| 6080日韩午夜伦伦午夜伦| 91久久久免费一区二区| 国产成人欧美日韩在线电影| 免费亚洲电影在线| 视频一区欧美精品| 亚洲乱码日产精品bd| 国产精品久久精品日日| 久久综合久色欧美综合狠狠| 91精品在线免费| 欧美私人免费视频| 欧洲国内综合视频| 91丨九色丨蝌蚪富婆spa| 国产成人亚洲精品狼色在线| 久久成人久久鬼色| 另类中文字幕网| 日韩精品一二三| 亚洲国产精品久久艾草纯爱| 亚洲欧美中日韩| 国产精品久久久久久亚洲毛片 | 国产成人自拍网| 国产精品一品视频| 国产综合色在线| 国产一区二区三区免费播放| 久久国产精品99精品国产| 日本va欧美va欧美va精品| 免费成人在线网站| 久久精品二区亚洲w码| 久久爱另类一区二区小说| 美女一区二区久久| 国产精品一区二区在线观看网站| 国内精品久久久久影院一蜜桃| 久久99精品国产.久久久久| 蜜桃视频一区二区| 国模少妇一区二区三区| 国产精品一色哟哟哟| 国产xxx精品视频大全| 成人免费av在线| 91网上在线视频| 在线视频国内一区二区| 欧美精品欧美精品系列| 日韩三级免费观看| 久久综合九色综合97婷婷| 久久精品一区二区三区不卡| 中文字幕欧美激情一区| 国产精品久久久久久户外露出 | 欧美日本一区二区在线观看| 3atv在线一区二区三区| 日韩一区二区在线看片| 久久尤物电影视频在线观看| 国产精品理伦片| 亚洲成人1区2区| 国产一区二区视频在线播放| 成人av电影免费在线播放| 日本道色综合久久| 精品久久久久一区二区国产| 欧美国产成人精品| 亚洲在线成人精品| 久久er99精品| 在线视频综合导航| 欧美α欧美αv大片| 欧美国产精品一区二区三区| 亚洲成人资源网| 国产精品一二三四| 欧美亚洲动漫精品| 久久夜色精品一区| 一区二区三区不卡视频| 精品一区二区三区久久久| av在线不卡免费看| 91精品国产高清一区二区三区蜜臀| 久久精品视频一区二区| 亚洲已满18点击进入久久| 久久成人免费网| 欧美亚洲动漫另类| 欧美激情一区二区三区不卡| 视频一区二区三区在线| 波多野结衣91| 久久青草欧美一区二区三区| 亚洲成人一二三| 99国产欧美久久久精品| 精品少妇一区二区三区免费观看 | 国产欧美日韩中文久久| 视频一区中文字幕国产| 91丨porny丨国产| 亚洲精品一区二区三区精华液| 亚洲色图视频网站| 国产一区二区三区久久悠悠色av| 欧美日韩视频一区二区| 亚洲欧洲在线观看av| 国产一区二区三区香蕉| 欧美一三区三区四区免费在线看| 中文字幕一区二区不卡| 国产精品一区二区三区四区| 91精品在线一区二区| 亚洲综合自拍偷拍| 9人人澡人人爽人人精品| 精品国产欧美一区二区| 日韩成人伦理电影在线观看| 欧洲在线/亚洲| 一区二区视频免费在线观看| 成人av电影在线网| 欧美高清在线精品一区| 国产激情精品久久久第一区二区 | 欧美不卡一区二区三区四区| 性做久久久久久免费观看| 91丝袜国产在线播放| 国产精品成人午夜| 成人免费毛片高清视频| 国产欧美一区二区三区在线老狼| 精品制服美女丁香| 欧美成人女星排名| 久久激五月天综合精品| 日韩一区二区三区av| 全国精品久久少妇| 777a∨成人精品桃花网| 日韩精品亚洲一区二区三区免费| 88在线观看91蜜桃国自产| 日本中文字幕一区| 欧美一区二区日韩| 蜜臀精品久久久久久蜜臀| 日韩午夜激情av| 精品一区二区免费在线观看| 久久综合久久综合久久综合| 国产黄色成人av| 最新国产精品久久精品| 99久久久免费精品国产一区二区| 国产精品久久久久三级| 色婷婷狠狠综合| 亚洲成a人片综合在线| 在线不卡的av| 久久99国产乱子伦精品免费| 久久婷婷久久一区二区三区| 粉嫩绯色av一区二区在线观看| 国产欧美日韩不卡免费| 99久久国产综合精品女不卡 | 日韩精品乱码免费| 91精品国产一区二区人妖| 久久99精品久久久久久国产越南 | 午夜亚洲国产au精品一区二区| 欧美网站一区二区| 蜜臀精品久久久久久蜜臀 | 日本免费新一区视频| 久久久五月婷婷| 91丨九色丨蝌蚪富婆spa| 日日夜夜精品免费视频| www国产成人免费观看视频 深夜成人网| 国产一区二区按摩在线观看|