日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

深入BCB理解VCL的消息机制

發布時間:2025/3/15 c/c++ 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入BCB理解VCL的消息机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
深入BCB理解VCL的消息機制

引子:本文所談及的技術內容都來自于Internet的公開信息。由筆者在閑暇之際整理
后,貼出來以飴網友,姑且妄稱原創。每次在國外網站上找到精彩文章的時候,心中都
會暗自嘆息,為什么在中文網站難以覓得這類文章呢?其實原因大家都明白。

時至今日,學習Windows編程的兄弟們都知道消息機制的重要性。所以理解消息機制也
成了不可或缺的功課。大家都知道,Borland的C++ Builder以及Delphi的核心是VCL。
作為Win32平臺上的開發工具,封裝Windows的消息機制當然也是必不可少的。那么,在
C++ Builder中處理消息的方法有哪些呢?它們之間的區別又在哪里?如果您很清楚這
些,呵呵,對不起啦,請關掉這個窗口。如果不清楚那就和我一起深入VCL的源碼看個
究竟吧。

方法1:使用消息映射(Message Map)重載TObject的Dispatch虛成員函數
這個方法大家用的很多。形式如下


BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER( … … )
END_MESSAGE_MAP( … )

但這幾句話實在太突兀,C++標準中沒有這樣的定義。不用講,這顯然又是宏定義。它
們到底怎么來的呢?CKER第一次見到它們的時候,百思不得其解。嘿嘿,不深入VCL,
怎么可能理解?

在/Borland/CBuilder5/Include/Vcl找到sysmac.h,其中有如下的預編譯宏定義:


#define BEGIN_MESSAGE_MAP virtual void __fastcall Dispatch(void *Message) /
{ /
switch (((PMessage)Message)->Msg) /
{

#define VCL_MESSAGE_HANDLER(msg,type,meth) /
case msg: /
meth(*((type *)Message)); /
break;

// NOTE: ATL defines a MESSAGE_HANDLER macro which conflicts with VCL's
macro. The
// VCL macro has been renamed to VCL_MESSAGE_HANDLER. If you are not using
ATL,
// MESSAGE_HANDLER is defined as in previous versions of BCB.

#if !defined(USING_ATL) && !defined(USING_ATLVCL) &&
!defined(INC_ATL_HEADERS)
#define MESSAGE_HANDLER VCL_MESSAGE_HANDLER
#endif // ATL_COMPAT

#define END_MESSAGE_MAP(base)
default: /
base: ispatch(Message); /
break; /
} /
}

這樣對如下的例子:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_PAINT,TMessage,OnPaint)
END_MESSAGE_MAP(TForm1)

在預編譯時,就被展開成如下的代碼
virtual void __fastcall Dispatch(void *Message)
{
switch (((PMessage)Message)->Msg)
{
case WM_PAINT:
OnPaint(*((TMessage *)Message));
//消息響應句柄,也就是響應消息的成員函數,在Form1中定義
break;
default:
TForm1: ispatch(Message);
break;
}

}

這樣就很順眼了,對吧。對這種方法有兩點要解釋一下:
1.virtual void __fastcall Dispatch(void *Message)
這個虛方法的定義最早可以在TObject的定義中找到。打開BCB的幫助,查找TForm的方
法(Method),你會發現這里很清楚的寫著Dispatch方法繼承自TObject。如果您關心
VCL的繼承機制的話,您會發現TObject是所有VCL對象的基類。TObject的抽象凝聚了
Borland的工程師們的心血。如果有興趣。您應該好好查看一下TObject的定義。
很顯然,所有TObject的子類都可以重載基類的Dispatch方法,來實現自己的消息調
用。如果Dispatch方法找不到此消息的定義,會將此消息交由TObject:DefaultHandler
方法來處理。抽象基類TObject的DefaultHandler方法實際上是空的。同樣要由繼承子
類重載實現它們自己的消息處理過程。


2.很多時候,我見到的第二行是這樣寫的:
MESSAGE_HANDLER(WM_PAINT,TMessage,OnPaint)
在這里,您可以很清楚地看到幾行注解,意思是ATL中同樣包含了一個MESSAGE_HANDLER
的宏定義,這與VCL發生了沖突。為了解決這個問題,Borland改用
VCL_MESSAGE_HANDLER。當您沒有使用ATL的時候,MESSAGE_HANDLER將轉換成
VCL_MESSAGE_HANDLER。但如果用了ATL就會有問題。所以我建議您始終使用
VCL_MESSAGE_HANDLER的寫法,以免出現問題。

?

方法2:重載TControl的WndProc方法
還是先談談VCL的繼承策略。VCL中的繼承鏈的頂部是TObject基類。一切的VCL組件和對
象都繼承自TObject。

打開BCB幫助查看TControl的繼承關系:
TObject->TPersistent->TComponent->TControl

原來TControl是從TPersistent類的子類TComponent類繼承而來的。TPersistent抽象基
類具有使用流stream來存取類的屬性的能力。

TComponent類則是所有VCL組件的父類。
這就是所有的VCL組件包括您的自定義組件可以使用dfm文件存取屬性的原因(當然要是
TPersistent的子類,我想您很少需要直接從TObject類來派生您的自定義組件吧)。

TControl類的重要性并不亞于它的父類們。在BCB的繼承關系中,TControl類的是所有
VCL可視化組件的父類。實際上就是控件的意思吧。所謂可視化是指您可以在運行期間
看到和操縱的控件。這類控件所具有的一些基本屬性和方法都在TControl類中進行定
義。

TControl的實現在/Borland/CBuilder5/Source/Vcl/control.pas中可以找到。(可能
會有朋友問你怎么知道在那里?使用BCB提供的Search -> Find in files很容易找到。
或者使用第三方插件的grep功能。)

好了,進入VCL的源碼吧。說到這里免不了要抱怨一下Borland。哎,為什么要用pascal
實現這一切……:-(

TControl繼承但并沒有重寫TObject的Dispatch方法。反而提供了一個新的方法
WndProc。一起來看看Borland的工程師們是怎么寫的吧。

procedure TControl.WndProc(var Message: TMessage);
var
Form: TCustomForm;
begin
//由擁有control的窗體來處理設計期間的消息
if (csDesigning in ComponentState) then
begin
Form := GetParentForm(Self);
if (Form <> nil) and (Form.Designer <> nil) and
Form.Designer.IsDesignMsg(Self, Message) then Exit;
end
//如果需要,鍵盤消息交由擁有control的窗體來處理
else if (Message.Msg >= WM_KEYFIRST) and (Message.Msg <= WM_KEYLAST) then
begin
Form := GetParentForm(Self);
if (Form <> nil) and Form.WantChildKey(Self, Message) then Exit;
end
//處理鼠標消息
else if (Message.Msg >= WM_MOUSEFIRST) and (Message.Msg <= WM_MOUSELAST)
then
begin
if not (csDoubleClicks in ControlStyle) then
case Message.Msg of
WM_LBUTTONDBLCLK, WM_RBUTTONDBLCLK, WM_MBUTTONDBLCLK:
Dec(Message.Msg, WM_LBUTTONDBLCLK - WM_LBUTTONDOWN);
end;
case Message.Msg of
WM_MOUSEMOVE: Application.HintMouseMessage(Self, Message);
WM_LBUTTONDOWN, WM_LBUTTONDBLCLK:
begin
if FDragMode = dmAutomatic then
begin
BeginAutoDrag;
Exit;
end;
Include(FControlState, csLButtonDown);
end;
WM_LBUTTONUP:
Exclude(FControlState, csLButtonDown);
end;
end
// 下面一行有點特別。如果您仔細的話會看到這個消息是CM_VISIBLECHANGED.
// 而不是我們熟悉的WM_開頭的標準Windows消息.
// 盡管Borland沒有在它的幫助中提到有這一類的CM消息存在。但很顯然這是BCB的
// 自定義消息。呵呵,如果您對此有興趣可以在VCL源碼中查找相關的內容。一定會有
不小的收獲。
else if Message.Msg = CM_VISIBLECHANGED then
with Message do
SendDockNotification(Msg, WParam, LParam);
// 最后調用dispatch方法。
Dispatch(Message);
end;

看完這段代碼,你會發現TControl類實際上只處理了鼠標消息,沒有處理的消息最后都
轉入Dispatch()來處理。
但這里需要強調指出的是TControl自己并沒有獲得焦點Focus的能力。TControl的子類
TWinControl才具有這樣的能力。我憑什么這樣講?呵呵,還是打開BCB的幫助。很多朋
友抱怨BCB的幫助實在不如VC的MSDN。毋庸諱言,的確差遠了。而且這個幫助還經常有
問題。但有總比沒有好啊。

言歸正傳,在幫助的The TWinControl Branch 分支下,您可以看到關于TWinControl類
的簡介。指出TWinControl類是所有窗體類控件的基類。所謂窗體類控件指的是這樣一
類控件:

1. 可以在程序運行時取得焦點的控件。

2. 其他的控件可以顯示數據,但只有窗體類控件才能和用戶發生鍵盤交互。

3. 窗體類控件能夠包含其他控件(容器)。

4. 包含其他控件的控件又稱做父控件。只有窗體類控件才能夠作為其他控件的父控
件。

5. 窗體類控件擁有句柄。

除了能夠接受焦點之外,TWinControl的一切都跟TControl沒什么分別。這一點意味著
TWinControl可以對許多的標準事件作出響應,Windows也必須為它分配一個句柄。并且
與這個主題相關的最重要的是,這里提到是由BCB負責來對控件進行重畫以及消息處
理。這就是說,TWinControl封裝了這一切。

似乎扯的太遠了。但我要提出來的問題是TControl類的WndProc方法中處理了鼠標消
息。但這個消息只有它的子類TWinControl才能夠得到啊!?

這怎么可以呢……Borland是如何實現這一切的呢?這個問題實在很奧妙。為了看個究
竟,再次深入VCL吧。

還是在control.pas中,TWinControl繼承了TControl的WndProc方法。源碼如下:

procedure TWinControl.WndProc(var Message: TMessage);
var
Form: TCustomForm;
KeyState: TKeyboardState;
WheelMsg: TCMMouseWheel;
begin
case Message.Msg of
WM_SETFOCUS:
begin
Form := GetParentForm(Self);
if (Form <> nil) and not Form.SetFocusedControl(Self) then Exit;
end;
WM_KILLFOCUS:
if csFocusing in ControlState then Exit;
WM_NCHITTEST:
begin
inherited WndProc(Message);
if (Message.Result = HTTRANSPARENT) and (ControlAtPos(ScreenToClient(
SmallPointToPoint(TWMNCHitTest(Message).Pos)), False) <> nil) then
Message.Result := HTCLIENT;
Exit;
end;
WM_MOUSEFIRST..WM_MOUSELAST:
//下面這一句話指出,鼠標消息實際上轉入IsControlMouseMsg方法來處理了。
if IsControlMouseMsg(TWMMouse(Message)) then
begin
if Message.Result = 0 then
DefWindowProc(Handle, Message.Msg, Message.wParam, Message.lParam);
Exit;
end;
WM_KEYFIRST..WM_KEYLAST:
if Dragging then Exit;
WM_CANCELMODE:
if (GetCapture = Handle) and (CaptureControl <> nil) and
(CaptureControl.Parent = Self) then
CaptureControl.Perform(WM_CANCELMODE, 0, 0);
else
with Mouse do
if WheelPresent and (RegWheelMessage <> 0) and
(Message.Msg = RegWheelMessage) then
begin
GetKeyboardState(KeyState);
with WheelMsg do
begin
Msg := Message.Msg;
ShiftState := KeyboardStateToShiftState(KeyState);
WheelDelta := Message.WParam;
Pos := TSmallPoint(Message.LParam);
end;
MouseWheelHandler(TMessage(WheelMsg));
Exit;
end;
end;
inherited WndProc(Message);
end;

鼠標消息是由IsControlMouseMsg方法來處理的。只有再跟到IsControlMouseMsg去看看
啦。源碼如下:
function TWinControl.IsControlMouseMsg(var Message: TWMMouse): Boolean;
var
//TControl出現啦
Control: TControl;
P: TPoint;
begin
if GetCapture = Handle then
begin
Control := nil;
if (CaptureControl <> nil) and (CaptureControl.Parent = Self) then
Control := CaptureControl;
end else
Control := ControlAtPos(SmallPointToPoint(Message.Pos), False);
Result := False;
if Control <> nil then
begin
P.X := Message.XPos - Control.Left;
P.Y := Message.YPos - Control.Top;
file://TControl的Perform方法將消息交由WndProc處理。
Message.Result := Control.Perform(Message.Msg, Message.Keys,
Longint(PointToSmallPoint(P)));
Result := True;
end;
end;

原來如此,TWinControl最后還是將鼠標消息交給TControl的WndProc來處理了。這里出
現的Perform方法在BCB的幫助里可以查到,是TControl類中開始出現的方法。它的作用
就是將指定的消息傳遞給TControl的WndProc過程。
結論就是TControl類的WndProc方法的消息是由TWinControl類在其重載的WndProc方法
中調用IsControlMouseMsg方法后使用Peform方法傳遞得到的。

由于這個原因,BCB和Delphi中的TControl類及其所有的派生類都有一個先天的而且是
必須的限制。那就是所有的TControl類及其派生類的Owner必須是TWinControl類或者
TWinControl的派生類。Owner屬性最早可以在TComponent中找到,一個組件或者控件是
由它的Owner擁有并負責釋放其內存的。這就是說,當Owner從內存中釋放的時候,它所
擁有的所有控件占用的內存也都被釋放了。Owner最好的例子就是Form。Owner同時也負
責消息的分派,當Owner接收到消息的時候,它負責將應該傳遞給其所擁有的控件的消
息傳遞給它們。這樣這些控件就能夠取得處理消息的能力。TImage就是個例子:你可以
發現Borland并沒有讓TImage重載TControl的WndProc方法,所以TImage也只有處理鼠標
消息的能力,而這種能力正是來自TControl的。

唧唧崴崴的說了一大堆。終于可以說處理消息的第二種方法就是重載TControl的
WndProc方法了。例程如下:

void __fastcall TForm1::WndProc(TMessage &Message)
{
switch (Message.Msg)
{
case WM_CLOSE:
OnCLOSE(Message); // 處理WM_CLOSE消息的方法
break;
}
TForm::WndProc(Message);
}

乍看起來,這和上次講的重載Dispatch方法好象差不多。但實際上還是有差別的。差別
就在先后次序上,從前面TControl的WndProc可以看到,消息是先交給WndProc來處理,
最后才調用Dispatch方法的啦。
這樣,重載WndProc方法可以比重載Dispatch方法更早一點點得到消息并處理消息。

好了,這次就說到這里。在您的應用程序里還有沒有比這更早得到消息的辦法呢?有,
下次再說。

?


方法3 自TApplication的方法
不用我多廢話,大家都知道TApplication在BCB中的重要性。在BCB的幫助中指出:
TApplication、TScreen和TForm構成了所有BCB風格的Win32 GUI程序的脊梁,他們控制
著您程序的行為。TApplication類提供的屬性和方法封裝了標準Windows程序的行為。
TApplication表現了在Windows操作系統中創建、運行、支持和銷毀應用程序的基本原
理。因此,TApplication大大簡化了開發者和Windows環境之間的接口。這正是BCB的
RAD特性。

TApplication封裝的標準Windows行為大致包括如下幾部分:
1> Windows 消息處理
2> 上下文關聯的在線幫助
3> 菜單的快捷鍵和鍵盤事件處理
4> 異常處理
5> 管理由操作系統定義的程序基礎部分,如:MainWindow 主窗口、 WindowClass 窗
口類 等。

一般情況下,BCB會為每個程序自動生成一個TApplication類的實例。這部分源碼可以
在yourproject.cpp文件中見到(這里假定您的工程名稱就叫yourproject.bpr)。

當然TApplication是不可見的,他總是在您的Form背后默默的控制著您的程序的行為。
但也不是找不到蛛絲馬跡。如果您新建一個程序(New Application),然后不作任何改
動,編譯運行的話,你會發現程序窗體的Caption是Form1,但在Windows的狀態條上的
Caption確寫著project1的字樣。這就是TApplication存在的證據。當然,這只是一種
臆測,實戰的方法應該打開BCB附帶的WinSight來查看系統的進程。您可以清楚的看到
TApplication類的存在,他的大小是0(隱藏的嘛),然后才是TForm1類。

好了,既然TApplication封裝了消息處理的內容。我們就研究一下TApplication的實際
動作吧。實際上消息到達BCB程序時,最先得到它們的就是TApplication對象。經由
TApplication之后,才傳遞給Form的。以前的方法都是重載TForm的方法,顯然要比本
文所提到的方法要晚一些收到消息。對您來說,是不是希望在第一時間收到消息并處理
它們呢?

要清楚的知道TApplication的處理機制還是深入VCL源碼。首先看一看最最普通的一段
代碼吧。

#include
#pragma hdrstop
USERES("Project1.res");
USEFORM("Unit1.cpp", Form1);
//--------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
// 初始化Application
Application->Initialize();
// 創建主窗口,并顯示
Application->CreateForm(__classid(TForm1), &Form1);
// 進入消息循環,直到程序退出
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}

短短的幾行代碼就可以讓您的BCB程序自如運行。因為一切都已經被VCL在后臺封裝好
了。Application->Run()方法進入程序的消息循環,直到程序退出。一起跟進VCL源碼
看個究竟吧。
TApplication的定義在forms.pas中。

procedure TApplication.Run;
begin
FRunning := True;
try
AddExitProc(DoneApplication);
if FMainForm <> nil then
begin
// 設置主窗口的顯示屬性
case CmdShow of
SW_SHOWMINNOACTIVE: FMainForm.FWindowState := wsMinimized;
SW_SHOWMAXIMIZED: MainForm.WindowState := wsMaximized;
end;
if FShowMainForm then
if FMainForm.FWindowState = wsMinimized then
Minimize else
FMainForm.Visible := True;
// 看見了吧,這里有個循環,直到Terminated屬性為真退出。Terminated什么意思,
就是取消,結束
repeat
HandleMessage
until Terminated;
end;
finally
FRunning := False;
end;
end;

消息處理的具體實現不在Run方法中,很顯然關鍵在HandleMessage方法,看看這函數名
字-消息處理。只有跟進HandleMessage瞧瞧嘍。
procedure TApplication.HandleMessage;
var
Msg: TMsg;
begin
if not ProcessMessage(Msg) then Idle(Msg);
end;

咳,這里也不是案發現場。程序先將消息交給ProcessMessage方法處理。如果沒什么要
處理的,就轉入Application.Idle方法“程序在空閑時調用的方法”。
呼呼,再跟進ProcessMessage方法吧。

function TApplication.ProcessMessage(var Msg: TMsg): Boolean;
var
Handled: Boolean;
begin
Result := False;
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
Result := True;
if Msg.Message <> WM_QUIT then
begin
Handled := False;
if Assigned(FOnMessage) then FOnMessage(Msg, Handled);
if not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and
not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end
else
FTerminate := True;
end;
end;

哎呀呀,終于有眉目了。ProcessMessage采用了一套標準的Windows API 函數
PeekMessage .... TranslateMessage;DispatchMessage。
有人說:Application->OnMessage = MyOnMessage; //不能響應SendMessage的消息,
但是可以響應PostMessage發送的消息,也就是消息隊列里的消息

SendMessage和PostMessage最主要的區別在于發送的消息有沒有通過消息隊列。

原因就在這里。ProcessMessage使用了PeekMessage(Msg, 0, 0, 0, PM_REMOVE) 從消
息隊列中提取消息。然后先檢查是不是退出消息。不是的話,檢查是否存在OnMessage
方法。如果存在就轉入OnMessage處理消息。最后才將消息分發出去。

這樣重載Application的OnMessage方法要比前兩種方法更早得到消息,可以說是最快速
的方法了吧。舉個例子:

void __fastcall TForm1::MyOnMessage(tagMSG &Msg, bool &Handled)
{
TMessage Message;
switch (Msg.message)
{
case WM_KEYDOWN:
Message.Msg = Msg.message;
Message.WParam = Msg.wParam;
Message.LParam = Msg.lParam;
MessageDlg("You Pressed Key!", mtWarning, TMsgDlgButtons() << mbOK, 0);
Handled = true;
break;
}
}

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->OnMessage = MyOnMessage;
}

現在可以簡短的總結一下VCL的消息機制了。
標準的BCB程序使用Application->Run()進入消息循環,在Application的
ProcessMessage方法中,使用PeekMessage方法從消息隊列中提取消息,并將此消息從
消息隊列中移除。然后ProcessMessage 方法檢查是否存在Application->OnMessage方
法。存在則轉入此方法處理消息。之后再將處理過的消息分發給程序中的各個對象。至
此,WndProc方法收到消息,并進行處理。如果有無法處理的交給重載的Dispatch方法
來處理。要是還不能處理的話,再交給父類的Dispatch方法處理。最后Dispatch方法實
際上將消息轉入DefaultHandler方法來處理。

嘿嘿,實際上,你一樣可以重載DefaultHandler方法來處理消息。但是太晚了一點。我
想沒有人愿意最后一個處理消息吧...:-)

寫到這里似乎可以結束了。但如果您看過上一篇的話,一定會注意到
Application->HookMainWindow方法。這又是怎么一回事呢?

如果您打算使用Application->OnMessage來捕獲所有發送至您的應用程序的消息的話,
您大概要失望了。原因已經講過,它無法捕獲使用SendMessage直接發送給窗口的消
息,因為這不通過消息隊列。您也許會說我可以直接重載TApplication的WndProc方
法。呵呵,不可以。因為TApplication的WndProc方法被Borland申明為靜態的,從而無
法重載。顯而易見,這么做的原因很可能是Borland擔心其所帶來的副作用。那該如何
是好呢?

查看TApplication的WndProc的pascal源碼可以看到:

procedure TApplication.WndProc(var Message: TMessage);
... // 節約篇幅,此處與主題無關代碼略去
begin
try
Message.Result := 0;
for I := 0 to FWindowHooks.Count - 1 do
if TWindowHook(FWindowHooks[I]^)(Message) then Exit;
... // 節約篇幅,此處與主題無關代碼略去

WndProc方法一開始先調用HookMainWindow掛鉤的自定義消息處理方法,然后再調用缺
省過程處理消息。這樣使用HookMainWindow就可以在WndProc中間接加入自己的消息處
理方法。使用這個方法響應SendMessage發送來的消息很管用。最后提醒一下,使用
HookMainWindow掛鉤之后一定要對應的調用UnhookMainWindow卸載鉤子程序。給個例子

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Application->HookMainWindow(AppHookFunc);
}

bool __fastcall TForm1::AppHookFunc(TMessage &Message)
{
bool Handled ;
switch (Message.Msg)
{
case WM_CLOSE:
mrYes == MessageDlg("Really Close??",
mtWarning,
TMsgDlgButtons() << mbYes << mbNo,
0) ? Handled = false : Handled = true ;
break;
}
return Handled;
}

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
Application->UnhookMainWindow(AppHookFunc);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
SendMessage(Application->Handle,WM_CLOSE,0,0);
}

這樣,將本文中的兩種方法相結合,您就可以自如的處理到達您的應用程序的各種消息
了。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的深入BCB理解VCL的消息机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

欧美日本一区 | 成人a视频片观看免费 | 天堂网一区二区三区 | 欧美一区二区在线 | 精品国产网址 | 成人午夜性影院 | 日韩一区二区免费播放 | 久色小说 | 91麻豆福利| 国产精久久久 | 成人国产在线 | 亚洲免费一级电影 | 欧美色综合天天久久综合精品 | 日韩免费一区二区三区 | 91在线精品秘密一区二区 | 亚洲最新在线视频 | 午夜精品视频一区二区三区在线看 | 国产专区在线看 | 五月婷婷六月丁香激情 | 日本一区二区三区免费看 | 亚洲欧美成人在线 | 免费av 在线 | 日本在线中文在线 | 亚洲视频电影在线 | 四虎最新入口 | 久久精品一区二区三区四区 | 免费国产在线精品 | 日日夜夜精品视频天天综合网 | 色噜噜色噜噜 | 深夜精品福利 | 精品国产一区二区三区日日嗨 | 亚洲尺码电影av久久 | 97在线精品视频 | 婷婷色 亚洲 | 97超碰免费在线观看 | 久久免费a | 黄色av成人在线观看 | 婷婷六月激情 | 欧美高清视频不卡网 | 二区三区中文字幕 | 在线精品一区二区 | 97在线观 | 99视频国产在线 | 久久久久国产成人精品亚洲午夜 | 夜夜操天天摸 | 欧美另类重口 | 精品1区2区 | 中文在线8新资源库 | 欧美激情精品久久久久 | 91成人免费视频 | 日韩精品在线一区 | 91中文字幕一区 | 久久久国产99久久国产一 | 在线观看免费成人 | 2023天天干| 极品久久久久久久 | 欧美精品久 | 99热9| 91私密视频 | 国产亚洲免费的视频看 | 久久99久久精品国产 | 欧美日韩久久不卡 | 国产精品久久久久av福利动漫 | 亚洲精品动漫成人3d无尽在线 | 黄色片免费电影 | 国产亚洲永久域名 | 亚洲激情影院 | 18性欧美xxxⅹ性满足 | 日韩在线观看 | 国产不卡视频在线播放 | 97超级碰碰碰视频在线观看 | 久久免费精彩视频 | 日韩欧美在线不卡 | 国产精品免费观看视频 | 国产最顶级的黄色片在线免费观看 | 中文字幕在线视频网站 | 国产精品一区二区在线免费观看 | 日本女人b| 欧美色道| 欧美午夜精品久久久久久浪潮 | av黄色av | 国产只有精品 | 在线播放 日韩专区 | 婷婷久月 | 欧美日韩国产区 | 国产精品黄色在线观看 | 开心综合网 | 国产在线专区 | 97超碰人人在线 | 色综合天天综合网国产成人网 | 99精品电影 | 日批视频 | 国产男男gay做爰 | 国产精品久久久久久久av电影 | 亚洲黑丝少妇 | 日本夜夜草视频网站 | 四虎www.| 久久99久久精品 | 日韩电影一区二区三区在线观看 | 国产第一二区 | 精品国产伦一区二区三区免费 | 97碰碰碰| 欧美日韩国产亚洲乱码字幕 | 91传媒免费在线观看 | a级片久久| 亚洲精品在 | 亚色视频在线观看 | 亚洲欧美日韩一二三区 | 久久久久日本精品一区二区三区 | 国产视频在线播放 | 国内成人精品视频 | 久久人人做 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 麻豆国产电影 | 精品国内自产拍在线观看视频 | 99久久精品久久久久久动态片 | 国内偷拍精品视频 | 日韩最新av| 欧美成人a在线 | 免费男女羞羞的视频网站中文字幕 | 日韩欧美大片免费观看 | 手机在线黄色网址 | 精品夜夜嗨av一区二区三区 | 亚洲成人麻豆 | 欧美日韩大片在线观看 | 五月天亚洲综合 | 国产黄在线播放 | www.伊人网| av线上看| 久久久久久久久免费视频 | 88av网站 | 亚洲 av网站| 国产精品第一视频 | 91精品爽啪蜜夜国产在线播放 | 国产一区高清在线观看 | 亚洲欧美国产精品18p | 五月天色站 | 国产麻豆精品一区二区 | 国产精品久久久精品 | 亚洲成人二区 | 国产精品一区久久久久 | 色视频成人在线观看免 | 亚洲aⅴ久久精品 | 午夜视频不卡 | 国产高清免费视频 | 国产探花在线看 | 天天色天天综合网 | 国产精品福利午夜在线观看 | 爱干视频| 91麻豆精品91久久久久同性 | 天天操天天操天天干 | 18+视频网站链接 | 二区三区视频 | 久久久九色精品国产一区二区三区 | 国产精品原创 | 天天碰天天操 | 久久国产精品一二三区 | 成人不用播放器 | 91精品国产92久久久久 | 国产午夜在线 | 久久天天躁夜夜躁狠狠85麻豆 | 免费看av在线 | 911精品美国片911久久久 | 久久最新视频 | 亚洲综合五月 | 白丝av免费观看 | 一区二区不卡视频在线观看 | 国产成人综合在线观看 | 日韩三级免费 | 黄色一级免费网站 | 欧美精品一区二区三区一线天视频 | 久久手机精品视频 | 欧美一级大片在线观看 | 不卡av在线播放 | 久av在线 | 国产在线永久 | 黄色视屏在线免费观看 | 国产最新在线 | 成人av电影免费 | 亚洲精品久久久久久中文传媒 | 综合在线色 | 国产视频精品视频 | 免费观看午夜视频 | 国产一级黄色电影 | 日韩欧美一区二区在线观看 | 亚洲天天看| 久久久成人精品 | 精品视频123区在线观看 | 中文字幕高清免费日韩视频在线 | 亚洲人成在线电影 | 国产午夜精品一区二区三区在线观看 | 91日韩在线专区 | 成人av高清 | 五月天婷婷免费视频 | 91在线看视频免费 | 福利av影院 | 91久久精品一区 | 国产99久久久精品 | 四虎在线免费观看 | 日本中出在线观看 | 天海冀一区二区三区 | 一级免费观看 | 亚洲精品456在线播放乱码 | 国产精品久久久久永久免费看 | 欧美一区二区精美视频 | 天天操天天草 | 免费视频一二三区 | 四虎永久免费 | 51久久成人国产精品麻豆 | 天天色天天操天天爽 | 人人爽人人乐 | 五月婷婷视频在线 | 国产精品免费不卡 | 免费在线国产精品 | 久久久精品一区二区三区 | 国产一二三区av | 久久久精品99 | 国产99在线免费 | 麻花豆传媒一二三产区 | 婷婷色网址| 深爱婷婷网 | av电影免费 | 午夜视频在线网站 | 激情视频一区 | 久草网在线观看 | 国产精品美女网站 | 国产一区二区三区免费在线 | 欧美日韩视频网站 | 久久久成人精品 | 日本婷婷色 | 亚洲精品美女久久17c | 操操操av | 99色在线视频 | 日韩av黄| 视频在线观看国产 | 97精品国产91久久久久久 | 国产永久免费高清在线观看视频 | 麻豆超碰 | 国产视频网站在线观看 | 激情在线免费视频 | 久久免费在线观看 | 国产a级片免费观看 | 97干com | 亚洲综合欧美激情 | 黄色成人影院 | 欧美一级电影在线观看 | 国产精品一区在线 | 久久久精品欧美一区二区免费 | 亚洲最新av在线网址 | 欧美日韩中文另类 | 日韩毛片精品 | 日韩欧美高清视频在线观看 | 欧美精品xx | 久久调教视频 | 日本最新高清不卡中文字幕 | 天堂av观看| 色欧美日韩 | av.com在线 | 国产一级电影免费观看 | www.久久com | 中文字幕日韩电影 | 亚洲最新视频在线 | 国产精品嫩草影院9 | www操操操 | 色网站在线观看 | 成人97视频 | 玖玖在线观看视频 | 九九热视频在线免费观看 | 尤物97国产精品久久精品国产 | 免费在线观看国产精品 | 天天曰夜夜操 | 欧美精品被 | 免费看一级 | 在线观看成人毛片 | 91在线小视频| 国产精品永久久久久久久久久 | 天天躁日日躁狠狠躁 | 国产午夜三级 | a级国产乱理论片在线观看 伊人宗合网 | 久草青青在线观看 | 免费a v在线 | 久久精品电影网 | 久久午夜电影 | 国产精选在线观看 | 色在线观看网站 | www.玖玖玖| 欧美在线视频一区二区 | 97在线观看 | 97视频资源 | 精品久久久久久久久亚洲 | 欧美嫩草影院 | 欧美福利网站 | 久久一区91 | aav在线| 久久线视频 | 天天综合天天做 | 天天爱天天| a'aaa级片在线观看 | 亚洲第一久久久 | 日韩欧美在线综合网 | 超碰日韩在线 | 九色视频网站 | 激情中文字幕 | 色噜噜狠狠狠狠色综合久不 | 国产亚洲综合在线 | 精品美女久久久久久免费 | 91毛片在线 | 欧美在线观看禁18 | 国产高清不卡 | 国产美女久久 | 久久久久国产精品一区二区 | 新版资源中文在线观看 | 亚洲dvd | 91看片在线播放 | aaa免费毛片 | 成人精品国产 | 欧美另类人妖 | 99热这里只有精品久久 | 久久高清免费 | 国产精品一区二区三区免费视频 | 国产一区在线免费观看视频 | 伊色综合久久之综合久久 | 国产精品一区二区吃奶在线观看 | 99久久日韩精品免费热麻豆美女 | av一级网站 | 91成版人在线观看入口 | 午夜免费久久看 | 天天操夜夜叫 | 999久久国精品免费观看网站 | 视频国产一区二区三区 | 久色小说 | 瑞典xxxx性hd极品 | 国产专区一 | 美女视频黄免费的久久 | 欧美a级片免费看 | 国产91精品在线播放 | 亚洲女人天堂成人av在线 | 激情黄色一级片 | 中文字幕免费播放 | 欧美国产大片 | 亚洲电影影音先锋 | 91av免费看| 五月天亚洲精品 | 久久中文视频 | 天天干天天天 | 在线精品国产 | 日韩理论电影网 | 色射色 | 在线电影播放 | 韩国av电影在线观看 | 精品久久91 | 中文字幕在线看视频 | 欧美色黄| 久久久久免费精品国产小说色大师 | 免费大片黄在线 | 欧美性色综合 | 国产精品久久久久av免费 | 天天操偷偷干 | 国产一区福利 | 成人h动漫在线看 | 国产91精品久久久久 | 三级在线视频播放 | 日日夜夜精品视频天天综合网 | 视频成人永久免费视频 | 久久久国产精华液 | 96久久| 韩日在线一区 | 国产精品综合av一区二区国产馆 | 五月天开心| 狠狠色丁香婷综合久久 | 免费激情网 | 中文字幕在线国产精品 | 性色av免费观看 | 99色99| 欧美日韩在线免费观看 | 久久国产精品第一页 | 一级免费黄色 | 亚洲一级黄色av | 国产一区高清在线观看 | 国产99免费 | 日韩在线视频一区二区三区 | 黄色免费观看 | 亚洲欧洲精品久久 | 欧美精品久久久久久久久久久 | 色婷婷综合视频在线观看 | av官网在线 | 国产精品入口66mio女同 | 超碰在97| 欧美日韩性生活 | 五月开心激情网 | 久久久久女人精品毛片 | 久久综合免费 | 激情综合啪 | 久久国产系列 | 亚洲国产无 | 97热在线观看 | 久99久在线视频 | 免费看在线看www777 | 久久久久二区 | 久久亚洲欧美日韩精品专区 | 极品嫩模被强到高潮呻吟91 | 97色婷婷人人爽人人 | 特黄一级毛片 | 久久久久久99精品 | 99热免费在线 | 午夜精品一区二区三区免费视频 | 草莓视频在线观看免费观看 | 久久婷婷五月综合色丁香 | 99久热在线精品视频 | 韩日精品在线 | 96超碰在线 | 久久精品日本啪啪涩涩 | 久久艹人人 | 欧美激情另类文学 | 99看视频在线观看 | 911精品视频 | 中文在线字幕免费观 | 成人黄色视 | 在线视频观看你懂的 | 亚洲作爱视频 | www.狠狠| 91av小视频| 久久久国产精品一区二区三区 | 午夜精品婷婷 | 麻豆激情电影 | 精品96久久久久久中文字幕无 | 欧美精品久久久久久久久久 | 国产精品福利在线播放 | 在线免费观看国产视频 | 婷婷精品国产欧美精品亚洲人人爽 | 夜夜视频欧洲 | 国产亚洲精品精品精品 | 日日干天天射 | 五月婷婷在线观看 | 久久艹精品| 国产精品色在线 | 免费在线精品视频 | 国产色婷婷精品综合在线手机播放 | 欧美国产视频在线 | 日韩在线视频线视频免费网站 | 久久99精品国产麻豆宅宅 | av线上免费观看 | 97精品欧美91久久久久久 | 成人免费视频播放 | 狠狠色丁香 | 亚洲六月丁香色婷婷综合久久 | 日韩在线观看一区二区三区 | 国产黄a三级三级三级三级三级 | 天天干,天天操,天天射 | 日本三级在线观看中文字 | 6080yy午夜一二三区久久 | 就要色综合 | 国内揄拍国内精品 | 99久久99久久免费精品蜜臀 | 中文在线最新版天堂 | 亚洲精品国产精品久久99 | 中文字幕日韩国产 | 黄色网中文字幕 | 国产精品私拍 | 国产精品99页 | 国产亚洲在线视频 | 欧美国产日韩一区二区三区 | 九九热99视频 | 国产一级在线播放 | 91在线porny国产在线看 | 福利视频 | 欧美另类v | 久久成人资源 | 中文字幕一区在线 | 久久久久久久久久电影 | 一本一道波多野毛片中文在线 | 国产不卡在线观看视频 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美aa在线 | 香蕉影院在线观看 | 最新午夜 | 国产高清永久免费 | 人人看黄色 | 96精品在线 | av免费片 | 日本成人免费在线观看 | 91视频免费网址 | 在线观看av小说 | 亚洲一级性| 国产主播99 | 国产精品 欧美 日韩 | 在线看的av网站 | 亚洲精品美女久久久久 | www.夜夜 | 激情深爱.com | 亚洲狠狠婷婷综合久久久 | 婷婷丁香激情综合 | 欧美视频在线观看免费网址 | www.综合网.com | 日韩精品一区电影 | 久久国产露脸精品国产 | 美女视频网 | 91高清免费在线观看 | 美女久久视频 | 91av在线免费看 | 久久精品久久久久 | 国产99久久 | 成人中心免费视频 | 97操操操| 精品久久久久久久久久久久久 | 日韩午夜av电影 | 99超碰在线观看 | 亚洲精品视频播放 | 久久99久久99精品 | 国产91影院 | 免费网站黄 | 天天碰天天操 | 国产精品一区二区三区视频免费 | 午夜精品一区二区三区免费视频 | 亚洲精品成人网 | 国产成人一区在线 | 激情综合网五月激情 | 久久久免费看片 | 欧美性免费| 高清美女视频 | 日韩一区在线免费观看 | 国产91免费观看 | 日本最新高清不卡中文字幕 | 成人午夜久久 | 9ⅰ精品久久久久久久久中文字幕 | 97高清视频 | 最近中文字幕mv免费高清在线 | 亚洲最大色| 在线免费观看麻豆视频 | 久久久这里有精品 | 一级淫片a| 亚洲在线日韩 | 日韩欧美高清免费 | 午夜精品一区二区国产 | 午夜精品久久久久久中宇69 | 视频高清| 人人dvd | 国产精品区二区三区日本 | 黄色av成人在线观看 | 欧美成人日韩 | av色图天堂网 | 丝袜美腿一区 | 久久久香蕉视频 | 日韩免费在线观看网站 | 国产午夜精品免费一区二区三区视频 | 日本成人a | 中文字幕日韩精品有码视频 | 国产亚洲永久域名 | 色噜噜狠狠色综合中国 | 久青草视频 | 黄色大片日本 | 91在线精品秘密一区二区 | 欧美精品乱码99久久影院 | 国产精品v a免费视频 | 婷婷色社区 | 国产精品黑丝在线观看 | 欧美日韩高清国产 | 久久不射电影网 | 最近最新最好看中文视频 | 国产成人一区二区在线观看 | 伊人精品在线 | 麻豆成人精品 | 久久天堂精品视频 | 美女视频久久久 | 日韩com| 国产免费一区二区三区最新 | 婷婷色 亚洲 | 激情开心色 | 91亚洲精品国偷拍 | 亚洲欧洲日韩 | 中文字幕一区二区三区视频 | 中文字幕 婷婷 | 伊人日日干 | 精品成人网| 日本在线观看中文字幕无线观看 | 超碰97网站 | 在线看av网址 | 91秒拍国产福利一区 | 国产成人精品一区二 | 在线小视频你懂得 | 欧美日韩一级在线 | 波多野结衣精品 | 久久久亚洲麻豆日韩精品一区三区 | 91成年人网站 | 91精品国产自产在线观看永久 | 人人爽人人爽人人 | 国产v视频 | 成人毛片一区 | 午夜精品久久久久久久久久久久 | 在线中文视频 | 天天舔夜夜操 | 在线天堂中文在线资源网 | 亚洲人人爱 | 天天色天天草天天射 | 国产精品中文字幕在线 | 五月天久久狠狠 | 中文字幕观看av | 久久网站最新地址 | 亚洲欧美视频 | 天天插视频 | 国产亚洲精品电影 | 欧美精品一区二区在线播放 | 成人免费网站视频 | 午夜影院一级 | 日日夜av| 中文字幕在线高清 | 一区二区精品久久 | 中文字幕观看视频 | 国产视频精品久久 | 亚洲精品国偷拍自产在线观看 | 婷婷激情五月 | 操一草 | 精品在线亚洲视频 | 国产成人久久久久 | 在线影院中文字幕 | 成人蜜桃 | 九九热视频在线 | 天天操天天爱天天干 | 在线观看色网站 | 激情久久综合网 | 国产精品一区在线观看你懂的 | 蜜臀久久99精品久久久久久网站 | 国产午夜精品一区二区三区在线观看 | 五月天婷婷综合 | 国产美女永久免费 | 精品久久久久久电影 | 国产精品毛片一区二区 | 青青看片 | 免费看在线看www777 | 夜夜澡人模人人添人人看 | 日韩一区二区三区不卡 | 狠狠躁18三区二区一区ai明星 | 一区二区毛片 | 国产日韩精品视频 | 日韩免费小视频 | 中文字幕在线观看的网站 | 欧美久久久久久久久久 | 美女精品 | 亚洲在线黄色 | 欧美综合国产 | 久草在线视频首页 | av免费网站观看 | 国产精品久久久久久久久免费看 | 激情综合网在线观看 | 久久久久综合视频 | 在线观看网站你懂的 | 日韩中文字幕免费 | 婷婷中文字幕综合 | 国产aa精品 | 91在线色 | 精品成人久久 | 亚洲天堂网视频在线观看 | 粉嫩av一区二区三区四区 | 天天草综合网 | 成人一级在线观看 | mm1313亚洲精品国产 | 国产日韩精品在线观看 | 99精品视频在线观看免费 | 亚洲资源网| 中文字幕在线视频第一页 | 日韩av免费一区二区 | 日韩欧美视频免费在线观看 | 97精品国产97久久久久久春色 | 久草影视在线 | 国产在线精品福利 | 婷婷午夜天 | 在线观看www视频 | 韩日在线一区 | 免费观看一区二区 | 一区 在线 影院 | 色五婷婷| 欧美日韩不卡在线观看 | 国产精品麻 | 国产99久久久国产精品免费看 | 欧美亚洲精品在线观看 | 日韩午夜视频在线观看 | 免费 在线 中文 日本 | 欧美激情视频一区 | 91精品无人成人www | 色在线国产 | 亚洲资源 | 亚洲天天在线日亚洲洲精 | 精产嫩模国品一二三区 | 成人免费亚洲 | 激情文学丁香 | 一级黄色电影网站 | 亚洲国产免费 | 日韩成人xxxx | 成人在线观看日韩 | 992tv在线成人免费观看 | 黄色大全免费观看 | 日韩视频在线观看免费 | 国产精品久久久777 成人手机在线视频 | 欧美一二区在线 | 五月天免费网站 | 天天躁日日躁狠狠躁av中文 | 亚洲成av人电影 | 国产成视频在线观看 | 奇米影视8888 | 国产高清一区二区 | 久草网站在线观看 | 亚洲精品大全 | 久久视频免费 | 久久成人资源 | 丁香婷婷综合五月 | 欧美午夜性| 中文字幕欲求不满 | 国产精品日韩在线播放 | 久久精品人 | 狠狠五月天 | 久久影视一区二区 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 一级淫片a| 国产亚州av | a级片久久 | 97在线免费视频观看 | 人人看人人做人人澡 | 中文字幕av免费 | 天天插日日射 | 狠狠地操 | 日日操天天爽 | 亚洲天堂社区 | 99视频久 | 少妇视频在线播放 | 国产黑丝一区二区 | 成人久久久久久久久久 | 久久亚洲综合色 | 99久久精品免费看国产 | 一级做a爱片性色毛片www | 99久久日韩精品视频免费在线观看 | 国产精品久久久久国产精品日日 | 99久久夜色精品国产亚洲96 | 97免费视频在线播放 | 国产天天综合 | 黄色成人免费电影 | 国产亚洲视频在线观看 | 91视频这里只有精品 | 天天操比 | 婷婷在线网 | 久久国产精品99久久久久久进口 | 91 在线视频 | 正在播放国产一区 | www久久国产| 婷婷色网视频在线播放 | 亚洲美女免费精品视频在线观看 | 国产一级视频在线免费观看 | 特级西西人体444是什么意思 | 免费福利在线观看 | 91麻豆精品91久久久久同性 | 亚洲人久久 | 99免费看片 | 天天躁天天躁天天躁婷 | 91成熟丰满女人少妇 | 欧美日韩亚洲一 | 免费人人干 | 91九色蝌蚪在线 | 欧美色精品天天在线观看视频 | 成人观看视频 | 丰满少妇高潮在线观看 | 精品91视频 | 免费看一及片 | 午夜影院日本 | 蜜臀av性久久久久蜜臀av | 日韩av资源在线观看 | 91在线免费视频观看 | 日本精品视频一区 | 狠狠操综合网 | 日韩美精品视频 | 狠狠的日日 | 亚洲欧美视频一区二区三区 | 精品一区二区在线看 | 欧美在线视频精品 | 久久久久久久久黄色 | 精品国产综合区久久久久久 | 欧美影院久久 | 日日夜夜狠狠操 | 日韩av高清在线观看 | 亚洲四虎在线 | 成人欧美日韩国产 | 日韩久久久| 国产成人av一区二区三区在线观看 | 国产99久久久国产 | 成年美女黄网站色大片免费看 | 中文字幕在线观看av | 国产精品毛片一区二区在线看 | 亚洲国产中文字幕在线观看 | 欧美日韩国产在线观看 | 日韩在线视频精品 | 国产一区二区三区在线 | 久久午夜精品视频 | 国产毛片aaa| 亚洲欧美乱综合图片区小说区 | 国产精品资源 | 97国产| 亚洲精品综合一二三区在线观看 | 亚洲精品激情 | 夜夜爽88888免费视频4848 | 99精品区 | 久久精品牌麻豆国产大山 | 中文字幕av网站 | 91麻豆精品国产91久久久更新时间 | 欧美精品xxx | 国产精品一区二区免费 | 婷婷网五月天 | 国产精品一区二区在线观看免费 | 欧美 日韩 性 | 青青射| 国产高清中文字幕 | 国产精品久久久久久久久久了 | 黄色一区二区在线观看 | 日本三级香港三级人妇99 | av看片网址 | 国产一区在线免费 | 麻豆成人小视频 | 亚洲亚洲精品在线观看 | 99在线观看视频 | 成人高清av在线 | 色狠狠综合天天综合综合 | 西西444www | 伊人官网 | 日本高清免费中文字幕 | 黄色片视频免费 | 成人黄色毛片视频 | 久久观看 | 亚洲视频2 | 人人射网站 | 在线免费高清一区二区三区 | 99热高清| 亚洲国产高清视频 | 天天摸夜夜添 | 在线免费视频你懂的 | 四虎成人精品在永久免费 | av久久久久久 | 99这里精品 | 中文字幕在线国产 | 亚洲电影第一页av | 亚洲美女免费视频 | 中文字幕在线日亚洲9 | 在线免费黄色毛片 | 日韩啪啪小视频 | 亚洲成色| 91黄色免费网站 | 国产精品激情 | 亚洲成人av影片 | 国产玖玖在线 | 欧美孕妇与黑人孕交 | 亚洲午夜小视频 | 久久久久久久福利 | 国产精品综合久久久 | 国产免费一区二区三区最新 | 色婷婷九月| 日韩精品一区二 | 亚洲午夜精品久久久久久久久 | 国产一级三级 | 亚洲小视频在线 | 国产在线观看91 | 九九热在线精品 | 91大神精品视频在线观看 | 99999精品| 九色福利视频 | 国产精品久久久久久久久久久久 | 国产精品久久久久久久久久久久午夜 | 国产美腿白丝袜足在线av | 三级视频片 | 五月婷婷黄色网 | 中文字幕在线播放一区二区 | 欧美日韩亚洲第一页 | 奇米导航 | 中文字幕av网站 | 成人黄色电影在线播放 | 激情视频在线高清看 | 婷婷六月综合网 | 欧美一级特黄aaaaaa大片在线观看 | 97超碰人人澡人人爱 | 精品中文字幕在线观看 | 欧美日韩中文在线视频 | 国产精品永久免费 | 天堂素人在线 | 国产91精品看黄网站 | 免费看网站在线 | japanesefreesex中国少妇 | 国产韩国日本高清视频 | 亚洲视频网站在线观看 | www日日| 91在线91拍拍在线91 | 免费a v网站 | 亚洲成人动漫在线观看 | 丁香六月婷婷开心婷婷网 | 久久99精品久久久久久 | 亚洲精品乱码久久久久v最新版 | 久久久久久免费视频 | 特级西西444www高清大视频 | 99热在线精品观看 | 成人在线播放视频 | 亚洲综合精品在线 | 国产精品毛片久久久 | av在线亚洲天堂 | 天天干天天看 | 精品在线观看免费 | 国产精品自产拍在线观看桃花 | 国产精品原创在线 | 欧美日视频 | 一级片视频免费观看 | 日本福利视频在线 | 99视频在线| 亚洲精品免费在线视频 | 日日夜夜中文字幕 | 亚洲视频精品 | 欧美日韩免费一区二区 | 久久久精品小视频 | 在线观影网站 | 国产伦精品一区二区三区无广告 | 久久99中文字幕 | 久久黄色片| 四虎影视av | 在线观看一区二区精品 | 亚洲综合丁香 | 午夜视频一区二区 | 中文字幕在线观看网址 | 欧美午夜久久 | 深爱激情五月综合 | 激情在线网站 | 精品国产一区二区三区av性色 | 91av中文字幕 | 成人黄色片在线播放 | 激情视频综合网 | 天天操天天射天天插 | 国产福利专区 | 天堂av在线免费观看 | 亚洲精品久 | 亚洲午夜精品久久久久久久久 | 黄色精品久久 | 啪嗒啪嗒免费观看完整版 | 欧美伦理一区二区三区 | 国产一级精品在线观看 | 超碰国产97 | 国产精品入口久久 | 久久久久久久久电影 | a级片网站 | 福利视频网站 | 成人资源在线观看 | 日韩在线视频国产 | 视频一区久久 | 狠狠躁夜夜a产精品视频 | 在线观看国产区 | 欧美日韩18 | 婷婷婷国产在线视频 | 精品国产一区二区三区男人吃奶 | 国产亚洲人成网站在线观看 | 人人看看人人 | 中文字幕免费久久 | 久久精品一 | av中文字幕网 | 色综合色综合久久综合频道88 | 成年人视频在线免费观看 | 蜜臀一区二区三区精品免费视频 | 午夜性色 | 国产中文字幕在线看 | 精品久久91 | 久久国产欧美日韩精品 | 国产午夜在线观看 | 高潮毛片无遮挡高清免费 | 97超碰在线久草超碰在线观看 | 成人av高清在线 | 成人久久久久久久久久 | 婷婷九月丁香 | 黄色小说网站在线 | 六月激情网 | 免费国产视频 | 久久久精品欧美一区二区免费 | 中文字幕在线看视频国产 | 91成人免费视频 | 成人av资源 | av一级久久 | 色婷婷成人 | 色婷婷九月 | 黄视频色网站 | 国产精品高潮呻吟久久久久 | 欧美韩国日本在线观看 | 这里只有精彩视频 | 丁香激情综合国产 | 香蕉视频网址 | 91色影院 | 免费三级a| 亚洲精品18日本一区app | 99久久99久久精品免费 | 免费国产一区二区视频 | www.久久久精品 | 日本黄色免费观看 | 久久久久久高潮国产精品视 | 久久中文字幕导航 | 国产精品久久久久999 | 成人国产精品一区 | 国产精品99久久久精品免费观看 | 色偷偷97| 免费的国产精品 | 久久精品伊人 | 中文字幕日韩国产 |