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

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

?? cpropcomkeyword.cpp

?? 日本的開源編輯器源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//	$Id: CPropComKeyword.cpp,v 1.17 2005/01/30 14:25:30 Administrator Exp $
/*!	@file
	@brief 共通設定ダイアログボックス、「強調(diào)キーワード」ページ

	@author Norio Nakatani
	$Revision: 1.17 $
*/
/*
	Copyright (C) 1998-2001, Norio Nakatani
	Copyright (C) 2001, genta, MIK

	This source code is designed for sakura editor.
	Please contact the copyright holders to use this code for other purpose.
*/

#include "sakura_rc.h"
#include "CPropCommon.h"
#include "debug.h"
#include <windows.h>
#include <stdio.h>
#include <commctrl.h>
#include "CDlgOpenFile.h"
#include "etc_uty.h"
#include "CDlgInput1.h"
#include "global.h"


//@@@ 2001.02.04 Start by MIK: Popup Help
#if 1	//@@@ 2002.01.03 add MIK
#include "sakura.hh"
static const DWORD p_helpids[] = {	//10800
	IDC_BUTTON_ADDSET,				HIDC_BUTTON_ADDSET,			//キーワードセット追加
	IDC_BUTTON_DELSET,				HIDC_BUTTON_DELSET,			//キーワードセット削除
	IDC_BUTTON_ADDKEYWORD,			HIDC_BUTTON_ADDKEYWORD,		//キーワード追加
	IDC_BUTTON_EDITKEYWORD,			HIDC_BUTTON_EDITKEYWORD,	//キーワード編集
	IDC_BUTTON_DELKEYWORD,			HIDC_BUTTON_DELKEYWORD,		//キーワード削除
	IDC_BUTTON_IMPORT,				HIDC_BUTTON_IMPORT_KEYWORD,	//インポート
	IDC_BUTTON_EXPORT,				HIDC_BUTTON_EXPORT_KEYWORD,	//エクスポート
	IDC_CHECK_KEYWORDCASE,			HIDC_CHECK_KEYWORDCASE,		//キーワードの英大文字小文字區(qū)別
	IDC_COMBO_SET,					HIDC_COMBO_SET,				//強調(diào)キーワードセット名
	IDC_LIST_KEYWORD,				HIDC_LIST_KEYWORD,			//キーワード一覧
//	IDC_STATIC,						-1,
	0, 0
};
#else
static const DWORD p_helpids[] = {	//10800
	IDC_BUTTON_ADDSET,				10800,	//キーワードセット追加
	IDC_BUTTON_DELSET,				10801,	//キーワードセット削除
	IDC_BUTTON_ADDKEYWORD,			10802,	//キーワード追加
	IDC_BUTTON_EDITKEYWORD,			10803,	//キーワード編集
	IDC_BUTTON_DELKEYWORD,			10804,	//キーワード削除
	IDC_BUTTON_IMPORT,				10805,	//インポート
	IDC_BUTTON_EXPORT,				10806,	//エクスポート
	IDC_CHECK_KEYWORDCASE,			10810,	//キーワードの英大文字小文字區(qū)別
	IDC_COMBO_SET,					10830,	//強調(diào)キーワードセット名
	IDC_LIST_KEYWORD,				10840,	//キーワード一覧
//	IDC_STATIC,						-1,
	0, 0
};
#endif
//@@@ 2001.02.04 End

//	From Here Jun. 2, 2001 genta
/*!
	@param hwndDlg ダイアログボックスのWindow Handle
	@param uMsg メッセージ
	@param wParam パラメータ1
	@param lParam パラメータ2
*/
INT_PTR CALLBACK CPropCommon::DlgProc_PROP_KEYWORD(
	HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
	return DlgProc( &CPropCommon::DispatchEvent_p7, hwndDlg, uMsg, wParam, lParam );
}
//	To Here Jun. 2, 2001 genta

/* p7 メッセージ処理 */
INT_PTR CPropCommon::DispatchEvent_p7(
	HWND	hwndDlg,	// handle to dialog box
	UINT	uMsg,		// message
	WPARAM	wParam,		// first message parameter
	LPARAM	lParam 		// second message parameter
)
{
	WORD				wNotifyCode;
	WORD				wID;
	HWND				hwndCtl;
	NMHDR*				pNMHDR;
	NM_UPDOWN*			pMNUD;
	int					idCtrl;
//	LPDRAWITEMSTRUCT	pDis;
	int					nIndex1;
//	int					nIndex2;
//	int					nIndex3;
//	int					nNum;
	int					i;
//	int					j;
	static char			pszLabel[1024];
//	HDC					hdc;
//	TEXTMETRIC			tm;
	static int			nListItemHeight;
//	LRESULT				lResult;
	LV_COLUMN			lvc;
//	LV_ITEM				lvi;
	LV_ITEM*			plvi;
	static HWND			hwndCOMBO_SET;
	static HWND			hwndLIST_KEYWORD;
	RECT				rc;
	CDlgInput1			cDlgInput1;
	char				szKeyWord[MAX_KEYWORDLEN + 1];
	DWORD				dwStyle;
	LV_DISPINFO*		plvdi;
	LV_KEYDOWN*			pnkd;

	switch( uMsg ){
	case WM_INITDIALOG:
		/* ダイアログデータの設定 p7 */
		SetData_p7( hwndDlg );
		// Modified by KEITA for WIN64 2003.9.6
		::SetWindowLongPtr( hwndDlg, DWLP_USER, lParam );

		/* コントロールのハンドルを取得 */
		hwndCOMBO_SET = ::GetDlgItem( hwndDlg, IDC_COMBO_SET );
		hwndLIST_KEYWORD = ::GetDlgItem( hwndDlg, IDC_LIST_KEYWORD );
		::GetWindowRect( hwndLIST_KEYWORD, &rc );
		lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
		lvc.fmt = LVCFMT_LEFT;
		lvc.cx = rc.right - rc.left;
		lvc.pszText = "";
		lvc.iSubItem = 0;
		ListView_InsertColumn( hwndLIST_KEYWORD, 0, &lvc );

		dwStyle = (DWORD)::GetWindowLong( hwndLIST_KEYWORD, GWL_STYLE );
		::SetWindowLong( hwndLIST_KEYWORD, GWL_STYLE, dwStyle | LVS_SHOWSELALWAYS );
//				(dwStyle & ~LVS_TYPEMASK) | dwView);


		/* コントロール更新のタイミング用のタイマーを起動 */
		::SetTimer( hwndDlg, 1, 300, NULL );

		return TRUE;

	case WM_NOTIFY:
		idCtrl = (int)wParam;
		pNMHDR = (NMHDR*)lParam;
		pnkd = (LV_KEYDOWN *)lParam;
		pMNUD  = (NM_UPDOWN*)lParam;
		plvdi = (LV_DISPINFO*)lParam;
		plvi = &plvdi->item;

		if( hwndLIST_KEYWORD == pNMHDR->hwndFrom ){
			switch( pNMHDR->code ){
			case NM_DBLCLK:
//				MYTRACE( "NM_DBLCLK     \n" );
				/* p7:リスト中で選択されているキーワードを編集する */
				p7_Edit_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
				return TRUE;
			case LVN_BEGINLABELEDIT:
#ifdef _DEBUG
				MYTRACE( "LVN_BEGINLABELEDIT\n" );
												MYTRACE( "	plvi->mask =[%xh]\n", plvi->mask );
												MYTRACE( "	plvi->iItem =[%d]\n", plvi->iItem );
												MYTRACE( "	plvi->iSubItem =[%d]\n", plvi->iSubItem );
				if (plvi->mask & LVIF_STATE)	MYTRACE( "	plvi->state =[%xf]\n", plvi->state );
												MYTRACE( "	plvi->stateMask =[%xh]\n", plvi->stateMask );
				if (plvi->mask & LVIF_TEXT)		MYTRACE( "	plvi->pszText =[%s]\n", plvi->pszText );
												MYTRACE( "	plvi->cchTextMax=[%d]\n", plvi->cchTextMax );
				if (plvi->mask & LVIF_IMAGE)	MYTRACE( "	plvi->iImage=[%d]\n", plvi->iImage );
				if (plvi->mask & LVIF_PARAM)	MYTRACE( "	plvi->lParam=[%xh(%d)]\n", plvi->lParam, plvi->lParam );
#endif
				return TRUE;
			case LVN_ENDLABELEDIT:
#ifdef _DEBUG
				MYTRACE( "LVN_ENDLABELEDIT\n" );
												MYTRACE( "	plvi->mask =[%xh]\n", plvi->mask );
												MYTRACE( "	plvi->iItem =[%d]\n", plvi->iItem );
												MYTRACE( "	plvi->iSubItem =[%d]\n", plvi->iSubItem );
				if (plvi->mask & LVIF_STATE)	MYTRACE( "	plvi->state =[%xf]\n", plvi->state );
												MYTRACE( "	plvi->stateMask =[%xh]\n", plvi->stateMask );
				if (plvi->mask & LVIF_TEXT)		MYTRACE( "	plvi->pszText =[%s]\n", plvi->pszText  );
												MYTRACE( "	plvi->cchTextMax=[%d]\n", plvi->cchTextMax );
				if (plvi->mask & LVIF_IMAGE)	MYTRACE( "	plvi->iImage=[%d]\n", plvi->iImage );
				if (plvi->mask & LVIF_PARAM)	MYTRACE( "	plvi->lParam=[%xh(%d)]\n", plvi->lParam, plvi->lParam );
#endif
				if( NULL == plvi->pszText ){
					return TRUE;
				}
				if( 0 < strlen( plvi->pszText ) ){
					if( MAX_KEYWORDLEN < strlen( plvi->pszText ) ){
						::MYMESSAGEBOX(	hwndDlg, MB_OK | MB_ICONINFORMATION, GSTR_APPNAME,
							"キーワードの長さは%dバイトまでです。", MAX_KEYWORDLEN
						);
						return TRUE;
					}
					/* n番目のセットにキーワードを編集 */
					m_CKeyWordSetMgr.UpdateKeyWord( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx, plvi->lParam, plvi->pszText );
				}else{
					/* n番目のセットのm番目のキーワードを削除 */
					m_CKeyWordSetMgr.DelKeyWord( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx, plvi->lParam );
				}
				/* ダイアログデータの設定 p7 指定キーワードセットの設定 */
				SetData_p7_KeyWordSet( hwndDlg, m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx );

				ListView_SetItemState( hwndLIST_KEYWORD, plvi->iItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED );

				return TRUE;
			case LVN_KEYDOWN:
//				MYTRACE( "LVN_KEYDOWN\n" );
				switch( pnkd->wVKey ){
				case VK_DELETE:
					/* p7:リスト中で選択されているキーワードを削除する */
					p7_Delete_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					break;
				case VK_SPACE:
					/* p7:リスト中で選択されているキーワードを編集する */
					p7_Edit_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					break;
				}
				return TRUE;
			}
		}else{
			switch( pNMHDR->code ){
			case PSN_HELP:
				OnHelp( hwndDlg, IDD_PROP_KEYWORD );
				return TRUE;
			case PSN_KILLACTIVE:
#ifdef _DEBUG
				MYTRACE( "p7 PSN_KILLACTIVE\n" );
#endif
				/* ダイアログデータの取得 p7 */
				GetData_p7( hwndDlg );
				return TRUE;
//@@@ 2002.01.03 YAZAKI 最後に表示していたシートを正しく覚えていないバグ修正
			case PSN_SETACTIVE:
				m_nPageNum = ID_PAGENUM_KEYWORD;
				return TRUE;
			}
		}
		break;
	case WM_COMMAND:
		wNotifyCode = HIWORD(wParam);	/* 通知コード */
		wID = LOWORD(wParam);			/* 項目ID? コントロールID? またはアクセラレータID */
		hwndCtl = (HWND) lParam;		/* コントロールのハンドル */
		if( hwndCOMBO_SET == hwndCtl){
			switch( wNotifyCode ){
			case CBN_SELCHANGE:
				nIndex1 = ::SendMessage( hwndCOMBO_SET, CB_GETCURSEL, 0, 0 );
				/* ダイアログデータの設定 p7 指定キーワードセットの設定 */
				SetData_p7_KeyWordSet( hwndDlg, nIndex1 );
				return TRUE;
			}
		}else{
			switch( wNotifyCode ){
			/* ボタン/チェックボックスがクリックされた */
			case BN_CLICKED:
				switch( wID ){
				case IDC_BUTTON_ADDSET:	/* セット追加 */
					if( MAX_SETNUM <= m_CKeyWordSetMgr.m_nKeyWordSetNum ){
						::MYMESSAGEBOX(	hwndDlg, MB_OK | MB_ICONINFORMATION, GSTR_APPNAME,
							"セットは%d個までしか登録できません。\n", MAX_SETNUM
						);
						return TRUE;
					}
					/* モードレスダイアログの表示 */
					strcpy( szKeyWord, "" );
					//	Oct. 5, 2002 genta 長さ制限の設定を修正.バッファオーバーランしていた.
					if( FALSE == cDlgInput1.DoModal( m_hInstance, hwndDlg, "キーワードのセット追加", "セット名を入力してください。", MAX_SETNAMELEN, szKeyWord ) ){
						return TRUE;
					}
					if( 0 < strlen( szKeyWord ) ){
						/* セットの追加 */
						m_CKeyWordSetMgr.AddKeyWordSet( szKeyWord, FALSE );

						m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx = m_CKeyWordSetMgr.m_nKeyWordSetNum - 1;

						/* ダイアログデータの設定 p7 */
						SetData_p7( hwndDlg );
					}
					return TRUE;
				case IDC_BUTTON_DELSET:	/* セット削除 */
					nIndex1 = ::SendMessage( hwndCOMBO_SET, CB_GETCURSEL, 0, 0 );
					if( CB_ERR == nIndex1 ){
						return TRUE;
					}
					/* 削除対象のセットを使用しているファイルタイプを列挙 */
					strcpy( pszLabel, "" );
					for( i = 0; i < MAX_TYPES; ++i ){
						// 2002/04/25 YAZAKI Types全體を保持する必要はないし、m_pShareDataを直接見ても問題ない。
						if( nIndex1 == m_Types_nKeyWordSetIdx[i][0]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][1]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][2]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][3]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][4]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][5]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][6]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][7]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][8]
						||  nIndex1 == m_Types_nKeyWordSetIdx[i][9] ){
							strcat( pszLabel, "?" );
							strcat( pszLabel, m_pShareData->m_Types[i].m_szTypeName );
							strcat( pszLabel, "(" );
							strcat( pszLabel, m_pShareData->m_Types[i].m_szTypeExts );
							strcat( pszLabel, ")" );
							strcat( pszLabel, "\n" );
						}
					}
					if( IDCANCEL == ::MYMESSAGEBOX(	hwndDlg, MB_OKCANCEL | MB_ICONQUESTION, GSTR_APPNAME,
						"「%s」のセットを削除します。\nよろしいですか?\n削除しようとするセットは、以下のファイルタイプに割り當てられています。\n削除したセットは無効になります。\n\n%s",
						m_CKeyWordSetMgr.GetTypeName( nIndex1 ),
						pszLabel
					) ){
						return TRUE;
					}
					/* 削除対象のセットを使用しているファイルタイプのセットをクリア */
					for( i = 0; i < MAX_TYPES; ++i ){
						// 2002/04/25 YAZAKI Types全體を保持する必要はない。
						for( int j = 0; j < MAX_KEYWORDSET_PER_TYPE; j++ ){
							if( nIndex1 == m_Types_nKeyWordSetIdx[i][j] ){
								m_Types_nKeyWordSetIdx[i][j] = -1;
							}
							else if( nIndex1 < m_Types_nKeyWordSetIdx[i][j] ){
								m_Types_nKeyWordSetIdx[i][j]--;
							}
						}
					}
					/* n番目のセットを削除 */
					m_CKeyWordSetMgr.DelKeyWordSet( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx );
					/* ダイアログデータの設定 p7 */
					SetData_p7( hwndDlg );
					return TRUE;
				case IDC_BUTTON_KEYSETRENAME: // キーワードセットの名稱変更
					// モードレスダイアログの表示
					strcpy( szKeyWord, m_CKeyWordSetMgr.GetTypeName( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx ) );
					if( FALSE == cDlgInput1.DoModal( m_hInstance, hwndDlg, "セットの名稱変更",
							"セット名を入力してください。", MAX_SETNAMELEN, szKeyWord ) ){
						return TRUE;
					}
					if( 0 < strlen( szKeyWord ) ){
						m_CKeyWordSetMgr.SetTypeName( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx, szKeyWord );

						// ダイアログデータの設定 p7
						SetData_p7( hwndDlg );
					}
					return TRUE;
				case IDC_CHECK_KEYWORDCASE:	/* キーワードの英大文字小文字區(qū)別 */
//					m_CKeyWordSetMgr.m_nKEYWORDCASEArr[ m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx ] = ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_KEYWORDCASE );	//MIK 2000.12.01 case sense
					m_CKeyWordSetMgr.SetKeyWordCase(m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx, ::IsDlgButtonChecked( hwndDlg, IDC_CHECK_KEYWORDCASE ));			//MIK 2000.12.01 case sense
					return TRUE;
				case IDC_BUTTON_ADDKEYWORD:	/* キーワード追加 */
					/* n番目のセットのキーワードの數(shù)を返す */
					if( !m_CKeyWordSetMgr.CanAddKeyWord( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx ) ){
						::MYMESSAGEBOX(	hwndDlg,	MB_OK | MB_ICONINFORMATION, GSTR_APPNAME,
							"登録できるキーワード數(shù)が上限に達しています。\n"
						);
						return TRUE;
					}
					/* モードレスダイアログの表示 */
					strcpy( szKeyWord, "" );
					if( FALSE == cDlgInput1.DoModal( m_hInstance, hwndDlg, "キーワード追加", "キーワードを入力してください。", MAX_KEYWORDLEN, szKeyWord ) ){
						return TRUE;
					}
					if( 0 < strlen( szKeyWord ) ){
						/* n番目のセットにキーワードを追加 */
						if( 0 == m_CKeyWordSetMgr.AddKeyWord( m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx, szKeyWord ) ){
							// ダイアログデータの設定 p7 指定キーワードセットの設定
							SetData_p7_KeyWordSet( hwndDlg, m_CKeyWordSetMgr.m_nCurrentKeyWordSetIdx );
						}
					}
					return TRUE;
				case IDC_BUTTON_EDITKEYWORD:	/* キーワード編集 */
					/* p7:リスト中で選択されているキーワードを編集する */
					p7_Edit_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					return TRUE;
				case IDC_BUTTON_DELKEYWORD:	/* キーワード削除 */
					/* p7:リスト中で選択されているキーワードを削除する */
					p7_Delete_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					return TRUE;
				// From Here 2005.01.26 Moca
				case IDC_BUTTON_KEYCLEAN:
					p7_Clean_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					return TRUE;
				// To Here 2005.01.26 Moca
				case IDC_BUTTON_IMPORT:	/* インポート */
					/* p7:リスト中のキーワードをインポートする */
					p7_Import_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					return TRUE;
				case IDC_BUTTON_EXPORT:	/* エクスポート */
					/* p7:リスト中のキーワードをエクスポートする */
					p7_Export_List_KeyWord( hwndDlg, hwndLIST_KEYWORD );
					return TRUE;
				}
				break;	/* BN_CLICKED */
			}
		}
		break;	/* WM_COMMAND */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影网1区2区| 欧美电影精品一区二区| 国产精品―色哟哟| 成人福利视频在线| 亚洲婷婷综合久久一本伊一区 | 色综合久久88色综合天天 | 福利一区二区在线| 久久精品视频在线看| 成人免费看黄yyy456| 久久久久久久综合色一本| 国产一区二区伦理| 亚洲欧洲日韩一区二区三区| 99精品久久久久久| 亚洲女与黑人做爰| 丰满放荡岳乱妇91ww| 亚洲精品国久久99热| 色婷婷国产精品综合在线观看| 亚洲品质自拍视频| 欧美日韩国产大片| 精品一区中文字幕| 欧美国产日产图区| 免费观看成人av| 亚洲色图19p| 国产精品―色哟哟| 成人av在线网站| 国产精品色噜噜| 欧美天天综合网| 日本不卡一区二区| 久久夜色精品一区| 91黄色在线观看| 美国毛片一区二区三区| 国产亚洲人成网站| 欧美日韩一区小说| 国内精品伊人久久久久av一坑| 国产亚洲一区二区在线观看| 久久精品国产99国产| 中文字幕亚洲不卡| 欧美丰满一区二区免费视频| 久久成人精品无人区| 亚洲精品福利视频网站| 在线播放欧美女士性生活| 国内精品写真在线观看| 国产精品久久久久影院色老大| 91精品国产色综合久久不卡电影| 国产伦精品一区二区三区视频青涩| 国产精品美女久久久久av爽李琼 | 亚洲精品美腿丝袜| 日韩一区二区三区视频在线| 成人av资源站| 一区二区欧美在线观看| 国产精品成人免费| 7777精品伊人久久久大香线蕉完整版| 国产呦萝稀缺另类资源| 亚洲国产一区二区在线播放| 久久久亚洲午夜电影| 欧美日韩久久一区| 国产麻豆精品久久一二三| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文久久乱码一区二区| 欧美卡1卡2卡| 欧美午夜片在线观看| 成人性视频免费网站| 午夜久久久影院| 国产午夜精品理论片a级大结局| 日韩视频在线永久播放| 91视频国产观看| 国产精品77777| 久久福利资源站| 手机精品视频在线观看| 一区二区三国产精华液| 国产精品久久影院| 26uuu久久综合| wwww国产精品欧美| 欧美一级日韩一级| 欧美三级中文字| 欧美视频中文字幕| 91麻豆视频网站| 91在线云播放| 成人精品视频一区二区三区尤物| 国产91丝袜在线观看| 国产真实乱对白精彩久久| 久久97超碰国产精品超碰| 美女网站色91| 三级欧美在线一区| 亚洲第一福利一区| 国产精品国产三级国产专播品爱网 | 欧美大片国产精品| 717成人午夜免费福利电影| 日本精品视频一区二区| 99精品1区2区| 91福利社在线观看| 91在线国产观看| 91伊人久久大香线蕉| 狠狠色狠狠色综合| 国产91色综合久久免费分享| 国产一本一道久久香蕉| 国产精品一区久久久久| 97久久超碰精品国产| 色域天天综合网| 91久久精品一区二区| 91精品国产aⅴ一区二区| 4hu四虎永久在线影院成人| 精品视频一区二区不卡| 欧美日韩国产一级二级| 久久久美女毛片| 国产精品久久久久9999吃药| 国产精品污www在线观看| 亚洲一区二区欧美日韩| 日韩在线一二三区| 加勒比av一区二区| 久久99精品一区二区三区三区| 国产xxx精品视频大全| 播五月开心婷婷综合| 色丁香久综合在线久综合在线观看| 欧美精品三级在线观看| 欧美草草影院在线视频| 国产亚洲成年网址在线观看| 日韩久久久精品| 亚洲视频免费观看| 亚洲观看高清完整版在线观看| 亚洲一区二区三区美女| 久久66热re国产| 99久久久久久| 日韩视频一区二区在线观看| 国产精品区一区二区三| 午夜久久久影院| www.日本不卡| 91精品国产色综合久久不卡蜜臀| 久久久久国色av免费看影院| 国产精品女人毛片| 久久99这里只有精品| 成人小视频在线| 欧美日韩夫妻久久| 亚洲另类色综合网站| 精品中文字幕一区二区| 北条麻妃一区二区三区| 在线免费精品视频| 香蕉久久一区二区不卡无毒影院 | 日韩一区二区三区免费看 | 午夜亚洲福利老司机| 国产精品一区二区你懂的| 欧美日韩一区二区在线观看视频| 国产精品欧美综合在线| 韩国精品在线观看| 91精品国产福利| 午夜av区久久| 日本道免费精品一区二区三区| 欧美高清一级片在线观看| 久99久精品视频免费观看| 在线观看视频91| 亚洲色图制服丝袜| 不卡av电影在线播放| 国产精品色呦呦| 成人黄动漫网站免费app| 国产三级精品视频| 久久国产精品99久久久久久老狼 | 色婷婷综合视频在线观看| 国产精品日韩成人| 粉嫩av一区二区三区粉嫩 | 综合分类小说区另类春色亚洲小说欧美| 另类小说色综合网站| 91精品国产综合久久福利软件| 亚洲一区二区三区国产| 欧美视频在线播放| 香蕉乱码成人久久天堂爱免费| 欧美天堂亚洲电影院在线播放| 亚洲在线视频网站| 欧美日韩在线免费视频| 天天av天天翘天天综合网色鬼国产 | 在线成人免费观看| 日韩电影免费在线看| 日韩视频中午一区| 国产一区不卡在线| 中文字幕欧美激情一区| 91免费在线播放| 亚洲韩国一区二区三区| 69av一区二区三区| 久久国产精品72免费观看| 2023国产精品视频| 粉嫩av一区二区三区| 成+人+亚洲+综合天堂| 18成人在线观看| 欧美午夜一区二区三区| 首页综合国产亚洲丝袜| 日韩欧美综合在线| 成人丝袜高跟foot| 亚洲精品日产精品乱码不卡| 欧美精品久久久久久久久老牛影院| 免费成人在线视频观看| 国产三级精品三级| 日本丰满少妇一区二区三区| 午夜久久久影院| 久久精品视频免费观看| 色综合天天视频在线观看| 亚洲成av人片www| 久久欧美一区二区| 99精品国产热久久91蜜凸| 天天综合日日夜夜精品| 国产午夜精品久久久久久免费视| 一本色道综合亚洲|