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

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

?? cooltreectrl.cpp

?? 一個源代碼管理工具,支持懸浮框拖曳,后臺數據庫管理,代碼高亮顯示燈功能
?? CPP
字號:
// CoolTreeCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "CodeManager.h"
#include "CoolTreeCtrl.h"
#include "MainFrm.h"
#include "CodeManagerDoc.h"
#include "CodeManagerView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCoolTreeCtrl

CCoolTreeCtrl::CCoolTreeCtrl()
{
	InitImageList();
}

CCoolTreeCtrl::~CCoolTreeCtrl()
{
}


BEGIN_MESSAGE_MAP(CCoolTreeCtrl, CTreeCtrl)
	//{{AFX_MSG_MAP(CCoolTreeCtrl)
	ON_NOTIFY_REFLECT(NM_DBLCLK, OnDblclk)
	ON_NOTIFY_REFLECT(TVN_ITEMEXPANDED, OnItemexpanded)
	ON_NOTIFY_REFLECT(NM_RCLICK, OnRclick)
	ON_WM_CONTEXTMENU()
	ON_COMMAND(ID_NEWTITLE, OnNewtitle)
	ON_NOTIFY_REFLECT(TVN_SELCHANGED, OnSelchanged)
	ON_COMMAND(ID_EDITTITLE, OnEdittitle)
	ON_NOTIFY_REFLECT(TVN_ENDLABELEDIT, OnEndlabeledit)
	ON_COMMAND(ID_NEWCHILDTITLE, OnNewchildtitle)
	ON_NOTIFY_REFLECT(TVN_SELCHANGING, OnSelchanging)
	ON_COMMAND(ID_DELETETITLE, OnDeletetitle)
	ON_COMMAND(ID_FILE_FILEIMPORT, OnFileFileimport)
	ON_COMMAND(ID_FILE_DIRIMPORT, OnFileDirimport)
	ON_WM_LBUTTONDOWN()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCoolTreeCtrl message handlers

void CCoolTreeCtrl::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
//	MessageBox("double click");
	*pResult = 0;
}

void CCoolTreeCtrl::OnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	TVITEM item = pNMTreeView->itemNew;
	if(item.hItem == GetRootItem())
		return;
    HTREEITEM hChild = GetChildItem(item.hItem);

	while(hChild)
	{
		if(!ItemHasChildren(hChild))
		{
			CMainFrame* pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
			pFrame->AddSubDir(hChild);
		}
		hChild = GetNextItem(hChild,TVGN_NEXT);
	}

	*pResult = 0;
}


void CCoolTreeCtrl::OnRclick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
//	MessageBox("asdfdfhfj");
	SendMessage(WM_CONTEXTMENU, (WPARAM) m_hWnd, GetMessagePos());
	*pResult = 0;
}

void CCoolTreeCtrl::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// TODO: Add your message handler code here
	CPoint tp = point;
	if (point.x == -1 && point.y == -1)
		tp = (CPoint) GetMessagePos();

	ScreenToClient(&tp);

	UINT uFlags;
	HTREEITEM htItem;

	htItem = HitTest(tp, &uFlags);

	if( htItem == NULL )
		return;
	SelectItem(htItem);


//	CString str = GetItemText(htItem);

	CMenu menuPopup;
	menuPopup.LoadMenu(IDR_RIGHTMENU);
//	menuPopup.TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);

	CMenu* pPopup = menuPopup.GetSubMenu(0);

	pPopup->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
	/*if(menuPopup.CreatePopupMenu())
	{
	//	menuPopup.LoadMenu(IDR_RIGHTMENU);
		menuPopup.AppendMenu(MF_STRING, ID_NEWTITLE, "新增標題(&A)");
		menuPopup.AppendMenu(MF_STRING, ID_NEWCHILDTITLE, "新增子標題(&S)");
		menuPopup.AppendMenu(MF_STRING, ID_EDITTITLE, "編輯當前標題(&A)");
		menuPopup.AppendMenu(MF_STRING, ID_DELETETITLE, "刪除當前標題(&A)");
		menuPopup.AppendMenu(MF_SEPARATOR);
		menuPopup.AppendMenu(MF_STRING, ID_EXPORT, "導出...");
		menuPopup.TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
	}*/
}


void CCoolTreeCtrl::OnNewtitle() 
{
	// TODO: Add your command handler code here
//	MessageBox("new title");
	HTREEITEM hs, hp, hc;
	hs = GetSelectedItem();
	hp = GetParentItem(hs);

/*	TVINSERTSTRUCT tvInsert;
	tvInsert.hParent = hp;
	tvInsert.hInsertAfter = TVI_LAST;
	tvInsert.item.mask = TVIF_TEXT;
	tvInsert.item.pszText = _T("");

	InsertItem(&tvInsert);*/
	CString str = GetItemText(hp), str1 = GetItemText(hs);
	hCurrentItem = InsertItem("", hp);

	SetItemImage(hCurrentItem, 6, 6);

/*	ASSERT(m_hInsertItem!=NULL);*/
	m_dbType = 1;
	EditLabel(hCurrentItem);

}

BOOL CCoolTreeCtrl::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar) 
{
	// TODO: Add your specialized code here and/or call the base class
	
	return CTreeCtrl::OnAmbientProperty(pSite, dispid, pvar);
}

void CCoolTreeCtrl::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;

	CMainFrame *pFrame = (CMainFrame *)AfxGetApp()->GetMainWnd();
	CCodeManagerView *EditView;
	HTREEITEM hs = GetSelectedItem();
//	SetItemImage(hs,1,true );

	CString strvalue = "select * from CodeTable where CodeID = ", strdata;
	long lvalue = GetItemData(hs);
	strdata.Format("%ld", lvalue);
	strvalue = strvalue + "" + strdata +"";

	pFrame->m_DbObject.GetValue(strvalue);

	_variant_t vcount;
	vcount = pFrame->m_DbObject.m_pRecordset->GetCollect("IsDir");

	long bl = (long)vcount;

/*	CString str;
	str = (LPCTSTR)(_bstr_t)vcount;
	MessageBox(str);*/

//	pFrame->m_DbObject.m_pRecordset->
//	if(!bl)
	{
		try
		{
			long nSize = pFrame->m_DbObject.m_pRecordset->GetFields()->GetItem("CodeData")->ActualSize;
			if(nSize > 0)
			{
				_variant_t	varBLOB;
				varBLOB = pFrame->m_DbObject.m_pRecordset->GetFields()->GetItem("CodeData")->GetChunk(nSize);
				if(varBLOB.vt == (VT_ARRAY | VT_UI1))
				{
					if(BYTE *pBuffer = new BYTE [nSize+1])		///重新申請必要的存儲空間
					{	
						char *pBuf = NULL;
						SafeArrayAccessData(varBLOB.parray,(void **)&pBuf);
						memcpy(pBuffer,pBuf,nSize);				///復制數據到緩沖區m_pBMPBuffer
						SafeArrayUnaccessData (varBLOB.parray);
					//	int nSize = lDataSize;

						CString str;
						str.Format("%s", pBuf);
						//strcpy(str,pBuffer);
						EditView = (CCodeManagerView *)pFrame->GetActiveView();
						EditView->LoadText(str);
						EditView->SelectLanguage(_CPP);

						 delete [] pBuffer;
						 pBuf=0;
						 
					}
				}
			}
			else
			{
				CString str;
				EditView = (CCodeManagerView *)pFrame->GetActiveView();
				EditView->LoadText(str);
			//	EditView->SelectLanguage(_CPP);
			}

		}
		catch (_com_error e) {
		}
	}
		
	*pResult = 0;
}

void CCoolTreeCtrl::OnEdittitle() 
{
	// TODO: Add your command handler code here
	hCurrentItem = GetSelectedItem();
	m_dbType = 0;
	EditLabel(hCurrentItem);
}

void CCoolTreeCtrl::OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult) 
{
	TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
	// TODO: Add your control notification handler code here

	CString strName;
	GetEditControl()->GetWindowText(strName);
//	HTREEITEM hs = GetSelectedItem();
	SetItemText(hCurrentItem, strName);
	if(!ItemHasChildren(hCurrentItem))
		SetMyItemImage(hCurrentItem, strName);
	/*數據庫更新代碼*/
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();

	if(m_dbType == 0)//編輯當前標題
	{
		CString strvalue = "select * from CodeTable where CodeID = ", strdata;
		long lvalue = GetItemData(hCurrentItem);
		strdata.Format("%ld", lvalue);
		strvalue = strvalue + "" + strdata +"";

		pFrame->m_DbObject.GetValue(strvalue);
		CString dbstr = "CodeName";
		pFrame->m_DbObject.UpdataRecord(&dbstr, &strName, 1);
	}
	else if(m_dbType == 1 || m_dbType ==2)//新增標題
	{
		HTREEITEM hp = GetParentItem(hCurrentItem);
		CString strParent;
		if(hp != NULL)
		{
			long lvalue = GetItemData(hp);
			strParent.Format("%ld", lvalue);
		}
		pFrame->m_DbObject.AddRecord();
		pFrame->m_DbObject.SetData("CodeName", strName);
		pFrame->m_DbObject.SetData("CollectTime", "2005-7-29");
		if(hp != NULL)
			pFrame->m_DbObject.SetData("ParentID", strParent);
		pFrame->m_DbObject.Update();
		_variant_t vtemp;
		vtemp = pFrame->m_DbObject.m_pRecordset->GetCollect("CodeID");
		SetItemData(hCurrentItem, long(vtemp));

		if(m_dbType == 2)
		{
			SetItemImage(hp, 0, 0);
			CString strvalue = "select * from CodeTable where CodeID = ", strdata;
			long lvalue = GetItemData(hp);
			strdata.Format("%ld", lvalue);
			strvalue = strvalue + "" + strdata +"";

			pFrame->m_DbObject.GetValue(strvalue);
			pFrame->m_DbObject.SetData("IsDir", "1");
			pFrame->m_DbObject.Update();
		}
	}
/*	else if(m_dbType == 2)//新增子標題
	{
		HTREEITEM hp = GetParentItem(hCurrentItem);
		long lvalue = GetItemData(hp);
		CString strParent;
		strParent.Format("%ld", lvalue);
		pFrame->m_DbObject.AddRecord();
		pFrame->m_DbObject.SetData("CodeName", strName);
		pFrame->m_DbObject.SetData("CollectTime", "2005-7-29");
		pFrame->m_DbObject.SetData("ParentID", strParent);
		pFrame->m_DbObject.Updata();
	}*/
	*pResult = 0;
}

void CCoolTreeCtrl::OnNewchildtitle() 
{
	// TODO: Add your command handler code here
	HTREEITEM hp;
	hp = GetSelectedItem();
	hCurrentItem = InsertItem("", hp);
	SetItemImage(hCurrentItem, 6, 6);
	Expand(hp, TVE_EXPAND);
	m_dbType = 2;
	EditLabel(hCurrentItem);
}

void CCoolTreeCtrl::OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
	if(m_IsDbType)
	{
		CCodeManagerView *EditView = (CCodeManagerView *)pFrame->GetActiveView();
		CRichEditCtrl &edit = EditView->GetRichEditCtrl();
		if(edit.GetModify())
		{
			if(MessageBox("文件已修改!是否保存修改?", "保存", MB_ICONQUESTION|MB_YESNO) == IDYES)
			{
				CString strText;
				edit.GetWindowText(strText);
				BYTE *pBuf = (BYTE*)strText.GetBuffer(strText.GetLength());
				CString strvalue = "select * from CodeTable where CodeID = ", strdata;
				long lvalue = GetItemData(GetSelectedItem());
				strdata.Format("%ld", lvalue);
				strvalue = strvalue + "" + strdata +"";

				pFrame->m_DbObject.GetValue(strvalue);

				pFrame->m_DbObject.SetDataChunk(pBuf);
				pFrame->m_DbObject.Update();
				strText.ReleaseBuffer();
			}
			edit.SetModify(FALSE);
		}
	}
	*pResult = 0;
}

void CCoolTreeCtrl::OnDeletetitle() 
{
	// TODO: Add your command handler code here

	if(MessageBox("此操作將會刪除該項下所有文件,是否繼續?", "刪除", MB_ICONQUESTION|MB_YESNO) == IDYES)
	{
		HTREEITEM hs = GetSelectedItem();
		Expand(hs, TVE_EXPAND);
		DeleteChildItem(hs);//刪除其下所有子節點		
		DeleteDbItem(hs);//刪除其數據庫中的記錄;

		//如果父其下已無子節點,則改變父節點為文件
		HTREEITEM hp = GetParentItem(hs);
		DeleteItem(hs);
		if((hp != NULL) && (!ItemHasChildren(hp)))
		{
			CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
			CString strvalue = "select * from CodeTable where CodeID = ", strdata;
			long lvalue = GetItemData(hp);
			strdata.Format("%ld", lvalue);
			strvalue = strvalue + "" + strdata +"";

			pFrame->m_DbObject.GetValue(strvalue);

			long ldir = (long)pFrame->m_DbObject.m_pRecordset->GetCollect("IsDir");
			if(ldir)
			{
				pFrame->m_DbObject.SetData("IsDir", "0");
				pFrame->m_DbObject.Update();

				CString itemStr = GetItemText(hp);
				SetMyItemImage(hp, itemStr);
			}
		}

		MessageBox("成功刪除記錄!","源碼利器");
	}

	
}

int CCoolTreeCtrl::DeleteChildItem(HTREEITEM hp)
{
	HTREEITEM hChild = GetChildItem(hp), htemp;
	while(hChild)
	{
		Expand(hChild, TVE_EXPAND);
		int lv = GetItemData(hChild);
		if(ItemHasChildren(hChild))
		{
			DeleteChildItem(hChild);
		//	DeleteItem(hChild);
		}
	//	else
	//		DeleteItem(hChild);
		htemp = hChild;
		hChild = GetNextItem(hChild, TVGN_NEXT);
		DeleteDbItem(htemp);
		DeleteItem(htemp);
	}

/*	HTREEITEM hChild = m_wndTree.GetChildItem(NULL);

	s = m_wndTree.GetItemText(hChild);
	while(hChild)
	{
		AddSubDir(hChild);

		HTREEITEM hhChild = m_wndTree.GetChildItem(hChild);
		while(hhChild)
		{
			AddSubDir(hhChild);
			hhChild = m_wndTree.GetNextItem(hhChild,TVGN_NEXT);
		}
		hChild = m_wndTree.GetNextItem(hChild,TVGN_NEXT);
		s = m_wndTree.GetItemText(hChild);
	}*/
	return 0;
}

int CCoolTreeCtrl::DeleteDbItem(HTREEITEM htree)
{
	CString strvalue = "delete from CodeTable where CodeID = ", strdata;
	long lvalue = GetItemData(htree);
	strdata.Format("%ld", lvalue);
	strvalue = strvalue + "" + strdata +"";

	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
	pFrame->m_DbObject.DeleteValue(strvalue);
//	MessageBox("該記錄已被刪除");

//	DeleteItem(htree);

	return 0;
}


void CCoolTreeCtrl::OnFileFileimport() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
//	pFrame->OnFileFileimport();
	pFrame->ImportFile();
//	MessageBox("asdgdfhg");
}

int CCoolTreeCtrl::InitImageList()
{
	m_TreeImage.Create(16,16,ILC_COLOR16, 0, 0);
	HICON hIcon = AfxGetApp()->LoadIcon(IDI_CDIR);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_SC);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_SCPP);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_SDSW);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_SH);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_SCR);
	m_TreeImage.Add(hIcon);
	hIcon = AfxGetApp()->LoadIcon(IDI_OTHER);
	m_TreeImage.Add(hIcon);
	return 1;
}

int CCoolTreeCtrl::SetMyItemImage(HTREEITEM htItem, CString strName)
{
	int r = JudgeType(strName);
	if(r == -1 || r > 5)
		SetItemImage(htItem, 6, 6);
	else
	{
		if(r == 4 || r == 5)
			SetItemImage(htItem, 5, 5);
		else
			SetItemImage(htItem, r + 1, r + 1);
	}
	return 0;
}

int CCoolTreeCtrl::JudgeType(CString& CodeName)
{	//用引用參數以加快速度
/*	if(CodeName.GetLength() == 0)
		return -1;
	char *pt = new char[CodeName.GetLength() + 1], *p;
	p = pt;

	int index, i;

	strcpy(p, CodeName);*/

	int index, i;
	char *p = CodeName.GetBuffer(CodeName.GetLength());

	p += CodeName.GetLength() - 1;

	for(index = CodeName.GetLength() - 1; index >=0; index--, p--)
		if(*p == '.')
			break;

	if(index < 0)
	{
	//	delete []pt;
		return -1;
	}

	for(i = 0; i < 8; i++)
	{
		if(FileExp[i] == p)
		{
	//		delete []pt;
			return i;
		}
	}

//	delete []pt;
	return -1;
}

int CCoolTreeCtrl::SetMyImageList()
{
	SetImageList(&m_TreeImage, TVSIL_NORMAL);
	return 0;
}

void CCoolTreeCtrl::OnFileDirimport() 
{
	// TODO: Add your command handler code here
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
	pFrame->ImportDir();
}

void CCoolTreeCtrl::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->GetMainWnd();
	if(pFrame->m_bdType == TRUE)
		m_IsDbType = TRUE;
	else
		m_IsDbType = FALSE;
	pFrame->m_bdType = TRUE;
	CTreeCtrl::OnLButtonDown(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
51精品秘密在线观看| 国产午夜精品在线观看| 日韩久久精品一区| 中文字幕中文乱码欧美一区二区| 天堂一区二区在线免费观看| 成人伦理片在线| 日韩精品一区二区三区四区| 亚洲伦理在线精品| 国产精品亚洲第一 | 天堂影院一区二区| 99视频国产精品| 久久久一区二区| 麻豆视频一区二区| 久久久久久免费| 男男成人高潮片免费网站| 91视频91自| 国产精品久久久久一区二区三区| 蜜臀av一区二区| 欧美午夜免费电影| 亚洲色图色小说| 99久久婷婷国产综合精品| 26uuu久久综合| 久久精品噜噜噜成人88aⅴ| 欧美精品777| 亚洲高清视频的网址| av电影天堂一区二区在线| 国产女同互慰高潮91漫画| 久久99日本精品| 日韩一区二区三区电影| 亚洲一区二区三区精品在线| 色综合一区二区| 国产精品成人免费在线| 9色porny自拍视频一区二区| 国产欧美日韩激情| 成人午夜电影久久影院| 欧美国产丝袜视频| 懂色av一区二区在线播放| 久久久99精品久久| 国产精品中文字幕一区二区三区| 日韩美女在线视频| 国产乱人伦偷精品视频免下载 | 在线观看av不卡| 国产99久久久国产精品潘金 | 7777精品伊人久久久大香线蕉最新版 | 欧美日韩国产不卡| 日韩二区三区四区| 精品女同一区二区| a亚洲天堂av| 一区二区三区美女| 7777精品伊人久久久大香线蕉超级流畅| 亚洲成人av一区| 日韩精品一区二区三区蜜臀| 国产精品99久久久久久久vr| 日本一区二区电影| 在线一区二区观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩视频永久免费| 国产精品综合一区二区| 中文字幕日韩一区| 欧美群妇大交群中文字幕| 九色|91porny| 综合欧美亚洲日本| 正在播放亚洲一区| 成人激情动漫在线观看| 亚洲精品久久久久久国产精华液| 欧美日韩免费视频| 国产成人综合在线观看| 亚洲欧美另类小说视频| 日韩女优av电影在线观看| 波多野结衣在线一区| 亚洲成人一区在线| 国产亚洲人成网站| 欧美日韩一区二区在线观看视频| 精品在线你懂的| 一区二区日韩av| 久久综合成人精品亚洲另类欧美 | 国产精品色一区二区三区| 色婷婷av一区二区三区之一色屋| 日韩电影在线观看一区| 国产精品久久夜| 日韩免费看的电影| 91久久精品国产91性色tv| 国产麻豆一精品一av一免费| 亚洲国产精品久久艾草纯爱| 欧美极品另类videosde| 日韩三区在线观看| 在线免费观看不卡av| 国产**成人网毛片九色| 麻豆成人在线观看| 亚洲成av人片一区二区三区| 中文字幕免费不卡| 精品国产乱码久久久久久图片| 91激情在线视频| 丰满白嫩尤物一区二区| 久久国产日韩欧美精品| 亚洲成人精品影院| 一区二区三区影院| 国产精品素人一区二区| 欧美va在线播放| 欧美日韩国产成人在线免费| 色哟哟精品一区| 不卡一卡二卡三乱码免费网站| 五月天激情小说综合| 亚洲另类春色校园小说| 国产精品国产精品国产专区不蜜| 精品国产一区二区三区久久影院 | 亚洲国产激情av| wwww国产精品欧美| 精品国产髙清在线看国产毛片| 欧美午夜影院一区| 欧美性生交片4| 99精品一区二区三区| 成人高清视频在线| 成人黄色在线看| 成人黄页毛片网站| 成人av在线电影| 成人av电影免费在线播放| 成人午夜短视频| 91在线精品一区二区三区| 成人小视频免费观看| 国产a区久久久| 成人午夜电影久久影院| 成人在线一区二区三区| 国产福利一区在线观看| 国产成人免费高清| 成人国产在线观看| 色婷婷国产精品久久包臀| 欧美中文字幕一区二区三区| 色综合天天综合网天天看片| 91麻豆文化传媒在线观看| 91国偷自产一区二区开放时间| 色天使久久综合网天天| 欧美日韩一区二区三区高清 | 日韩精品午夜视频| 蜜桃av一区二区在线观看| 蜜桃精品视频在线观看| 国产成人高清视频| 91黄色免费看| 91精品国产色综合久久不卡电影| 日韩欧美亚洲另类制服综合在线| 日韩精品一区二区三区视频| 国产午夜久久久久| 亚洲一区二区三区国产| 麻豆视频一区二区| 91丝袜美女网| 91麻豆精品国产自产在线| 国产欧美日韩视频一区二区| 亚洲免费av观看| 蜜乳av一区二区| 99精品久久只有精品| 7777女厕盗摄久久久| 中文在线一区二区| 三级不卡在线观看| 福利一区在线观看| 555夜色666亚洲国产免| 亚洲国产精品高清| 男人的j进女人的j一区| 成人av动漫在线| 日韩一区二区免费电影| 成人欧美一区二区三区视频网页| 亚洲福利一区二区| 成人禁用看黄a在线| 日韩免费观看2025年上映的电影| 国产精品少妇自拍| 久久精品免费看| 欧美日韩一区 二区 三区 久久精品| 久久这里只有精品视频网| 伊人一区二区三区| 国产成人av一区二区三区在线| 在线看日韩精品电影| 欧美国产精品专区| 麻豆精品一二三| 欧美中文字幕亚洲一区二区va在线 | 欧美久久婷婷综合色| 中文字幕一区二| 狠狠网亚洲精品| 欧美日韩一区视频| 伊人一区二区三区| 91影视在线播放| 国产精品乱码一区二三区小蝌蚪| 奇米在线7777在线精品| 在线亚洲精品福利网址导航| 国产精品乱人伦中文| 国产大片一区二区| 久久久午夜电影| 毛片av中文字幕一区二区| 欧美日韩一卡二卡三卡| 亚洲婷婷综合色高清在线| 国产成人免费视频网站| 国产色产综合色产在线视频| 美女脱光内衣内裤视频久久网站| 欧美麻豆精品久久久久久| 亚洲午夜免费视频| 欧美视频中文字幕| 亚洲综合成人在线| 91蜜桃视频在线| 亚洲男人都懂的| 日本韩国视频一区二区| 一级中文字幕一区二区| 欧美在线观看一区二区|