欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

用MFC開發ActiveX控件詳解

轉帖|其它|編輯:郝浩|2008-12-18 11:40:02.000|閱讀 5055 次

概述:本文對COM組件中的ActiveX控件的MFC開發方法進行了介紹,講述了用戶自定義和庫存屬性、方法以及事件的添加方法和屬性頁的制作過程。使讀者能夠掌握基本的MFC ActiveX開發方法。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

文章關鍵字: |MFC|ActiveX|控件|COM|框架|

  前言

  ActiveX控件是一種實現了一系列特定接口而使其在使用和外觀上更象一個控件的COM組件。ActiveX控件這種技術涉及到了幾乎所有的COM和OLE的技術精華,如可鏈接對象、統一數據傳輸、OLE文檔、屬性頁、永久存儲以及OLE自動化等。

  ActiveX控件作為基本的界面單元,必須擁有自己的屬性和方法以適合不同特點的程序和向包容器程序提供功能服務,其屬性和方法均由自動化服務的IDispatch接口來支持。除了屬性和方法外,ActiveX控件還具有區別于自動化服務的一種特性--事件。事件指的是從控件發送給其包容程序的一種通知。與窗口控件通過發送消息通知其擁有者類似,ActiveX控件是通過觸發事件來通知其包容器的。事件的觸發通常是通過控件包容器提供的IDispatch接口來調用自動化對象的方法來實現的。在設計ActiveX控件時就應當考慮控件可能會發生哪些事件以及包容器程序將會對其中的哪些事件感興趣并將這些事件包含進來。與自動化服務不同,ActiveX控件的方法、屬性和事件均有自定義(custom)和庫存(stock)兩種不同的類型。自定義的方法和屬性也就是是普通的自動化方法和屬性,自定義事件則是自己選取名字和Dispatch ID的事件。而所謂的庫存方法、屬性和事件則是使用了ActiveX控件規定了名字和Dispatch ID的"標準"方法、屬性和事件。

  ActiveX控件可以使COM組件從外觀和使用上能與普通的窗口控件一樣,而且還提供了類似于設置Windows標準控件屬性的屬性頁,使其能夠在包容器程序的設計階段對ActiveX控件的屬性進行可視化設置。ActiveX控件提供的這些功能使得對其的使用將是非常方便的。本文下面即以MFC為工具對ActiveX控件的開發進行介紹。

  建立工程框架

  通過"MFC ActiveX ControlWizard"向導可以非常容易的建立一個MFC ActiveX控件工程框架。按照默認的選項將建立如圖1所示的工程結構:


圖1 使用缺省選項建立的ActiveX控件工程結構

  其中,_DSample68和_DSample68Events這兩個接口將為客戶程序提供本控件的屬性、方法以及可能響應的事件。全局函數DllRegisterServer()和DllUnregisterServer()分別用于控件在注冊表的注冊和注銷,一般不需要對其進行改動。

  應用程序類從COleControlModule繼承。而COleControlModule有是從CWinApp派生,提供了初始化控件模塊的功能。CSample68PropPage的基類是COlePropertyPage,CDialog類的派生類,主要負責對屬性頁中對圖形界面下用戶控件屬性的顯示。控件類CSample68Ctrl類是這幾個類中比較重要的一個類,大部分實質性工作都在該類完成,其基類為COleControl,從CWnd和CCmdTarget繼承,因此能夠為控件對象提供與MFC窗口對象相同的功能同時也提供了一系列事件觸發函數和一個分發映射表,使ActiveX控件能夠同包容器程序有效地進行交互。該類的派生類將可以在滿足特定的條件時向控件的包容器發送消息或是觸發事件,以通知包容器程序在控件內有一些重要的事件發生。分發映射表是其中很重要的一個部分,負責向包容器程序暴露控件提供的方法和屬性。圖2展示了COleControl類在控件與包容器通信中所起的作用。可以看出,ActiveX控件與其包容器之間的所有通信過程都是由COleControl來完成的:


圖2 COleControl在ActiveX控件與包容器通信中的作用

控件類對基類COleControl的OnDraw()函數進行了重載,向導生成了如下缺省代碼,其作用是在控件的客戶區繪制一個橢圓。在編程過程中通常要對其進行替換:

void CSample68Ctrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
 // TODO: Replace the following code with your own drawing code.
 pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
 pdc->Ellipse(rcBounds);
}


圖3 插入ActiveX控件


圖4 插入的待測試控件[SPAN]

  對向導生成的代碼進行編譯后,將產生擴展名為ocx的ActiveX控件。ActiveX控件并不能獨立運行,只能在包容器程序中才能夠運行。通常,為了調試方便而多使用VC++附帶的ActiveX Control Test Container工具以在測試階段對ActiveX控件進行調試。在測試工具的客戶區點擊鼠標右鍵,并選中彈出菜單的"Insert New Control…"菜單項,將彈出圖3所示的對話框,左側的列表框中列出了當前系統中所有注冊的ActiveX控件,選中要測試的控件并將其插入到測試程序即可通過"Control"菜單下的各菜單項對控件的方法、屬性以及事件等進行測試。在位于下方的分割視圖中將跟蹤顯示出調試記錄(參見圖4)。

  屬性、方法以及事件的添加


圖5 屬性的添加


圖6 方法的添加

  對ActiveX控件屬性、方法和事件的添加均有庫存和自定義兩種。其中對屬性和方法的添加在MFC ClassWizard對話框的Automation頁中通過按鈕"Add Property…"和"Add Method…"彈出如圖5和圖6所示的添加屬性和添加方法的對話框來完成。對于庫存屬性和方法,可以直接從External name組合框的下拉列表中選取,Implementation項將自動設置為Stock。對于自定義屬性和方法的添加與在自動化對象中為接口添加屬性和方法的過程一樣,ClassWizard將在.odl文件和控件類生成相應的代碼,下面給出的是在控件類中實現的部分分發映射代碼:

……
// Dispatch maps
//{{AFX_DISPATCH(CSample68Ctrl)
CString m_message;
afx_msg void OnMessageChanged();
afx_msg short GetXPos();
afx_msg void SetXPos(short nNewValue);
afx_msg short GetYPos();
afx_msg void SetYPos(short nNewValue);
afx_msg short MessageLen();
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
// Dispatch and event IDs
public:
enum {
   //{{AFX_DISP_ID(CSample68Ctrl)
   dispidMessage = 1L,
   dispidXPos = 2L,
   dispidYPos = 3L,
   dispidMessageLen = 4L,
   //}}AFX_DISP_ID
};
……
BEGIN_DISPATCH_MAP(CSample68Ctrl, COleControl)
//{{AFX_DISPATCH_MAP(CSample68Ctrl)
DISP_PROPERTY_NOTIFY(CSample68Ctrl, "Message", m_message, OnMessageChanged, VT_BSTR)
DISP_PROPERTY_EX(CSample68Ctrl, "XPos", GetXPos, SetXPos, VT_I2)
DISP_PROPERTY_EX(CSample68Ctrl, "YPos", GetYPos, SetYPos, VT_I2)
DISP_FUNCTION(CSample68Ctrl, "MessageLen", MessageLen, VT_I2, VTS_NONE)
DISP_STOCKPROP_BACKCOLOR()
DISP_STOCKPROP_CAPTION()
DISP_STOCKPROP_FORECOLOR()
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
……

  在這里共添加了一個自定義方法MessageLen()和三種庫存屬性BackColor、Caption和ForeColor(分別表示控件的背景色、標題和前臺色)、兩個以Get/Set方式獲取的自定義屬性XPos、YPos和一個以成員變量方式實現的自定義屬性Message。這幾個自定義屬性分別表示要顯示字符串的x、y坐標和要顯示的內容。對于采取Get/Set方式獲取的屬性,應當在控件類中為其添加相應的成員函數,并修改其Get、Set成員函數的實現過程:

short m_nYPos;
short m_nXPos;
……
short CSample68Ctrl::GetXPos()
{
 return m_nXPos;
}
void CSample68Ctrl::SetXPos(short nNewValue)
{
 m_nXPos = nNewValue;
 SetModifiedFlag();
}
short CSample68Ctrl::GetYPos()
{
 return m_nYPos;
}
void CSample68Ctrl::SetYPos(short nNewValue)
{
 m_nYPos = nNewValue;
 SetModifiedFlag();
} [SPAN]

對于以成員變量方式創建的屬性Message,向導還為其生成了一個消息響應函數:

void CSample68Ctrl::OnMessageChanged()
{
SetModifiedFlag();
}

  只要該屬性的值被更改,OnMessageChanged()函數即會被調用。

  為了使上述屬性設置如背景色、前景色等能夠與控件實際聯系起來,需要替換控件類OnDraw()函數中由向導生成的那部分代碼。例如,下面這段代碼即以前面添加的屬性設置作為參數值,在控件中顯示一串字符:

// 用背景色設置畫刷
CBrush Brush(TranslateColor(GetBackColor()));
// 用前臺色設置字體顏色
pdc->SetTextColor(TranslateColor(GetForeColor()));
// 繪制背景
pdc->FillRect(rcBounds, &Brush);
// 設置字體背景透明
pdc->SetBkMode(TRANSPARENT);
// 顯示字符
pdc->TextOut(m_nXPos, m_nYPos, m_message);

  為了使屬性設置更改后,其效果能夠立即在控件上顯示出來,應當在與屬性設置相關的函數實現中調用InvalidateControl()以更新控件的顯示。

  可以編譯程序并在ActiveX Control Test Container工具中對其進行測試。在插入控件后,通過"Invoke Methods…"菜單項彈出如圖7所示的對話框。在Method Name組合框中可以選擇要測試的屬性和方法。其中,對于屬性的測試分別有ProgGet和ProgSet的說明以指出是對屬性值的獲取與設置。在Parameter編輯框中輸入要設置的參數及其對應的參數類型,點擊SetValue按鈕將把該參數值添加到參數列表框,最后點擊Invoke按鈕將在控件應用設置的屬性并執行指定的方法。對于有返回值的方法,其執行結果將在Return編輯框中顯示。如果出現了異常操作,在Exception編輯框中將會顯示出相應的異常錯誤信息。圖8給出了經過屬性設置的控件界面。


圖7 對屬性、方法的測試


圖8 設置了屬性后的控件

  對于控件屬性的添加,在MFC ClassWizard對話框的ActiveX Events頁中通過"Add Event…"按鈕彈出如圖9所示的"Add Event"事件添加對話框。與方法、屬性的添加類似,在External name組合框中可以輸入要添加的自定義事件名稱,也可以從下拉列表選擇庫存事件。Implementation項將根據所要添加的事件類型而自動設置Stock或Custom選項。ActiveX控件將通過添加的事件來通知容器程序有特定的事件發生,庫存事件多為鍵盤、鼠標事件,將由COleControl自動進行處理。對于自定義事件,則只是在.odl文件和控件類中添加了事件映射表等必要的代碼(代碼附下),至于應當在何種條件下觸發該事件須由開發人員自行編寫代碼。[SPAN]


圖9 事件的添加

dispinterface _DSample68Events
{
 properties:
  // Event interface has no properties
 methods:
  // NOTE - ClassWizard will maintain event information here.
  // Use extreme caution when editing this section.
  //{{AFX_ODL_EVENT(CSample68Ctrl)
  [id(1)] void MsgOut();
  //}}AFX_ODL_EVENT
};
……

// Event maps
//{{AFX_EVENT(CSample68Ctrl)
void FireMsgOut()
{FireEvent(eventidMsgOut,EVENT_PARAM(VTS_NONE));}
//}}AFX_EVENT
DECLARE_EVENT_MAP()
// Dispatch and event IDs
public:
enum {
 //{{AFX_DISP_ID(CSample68Ctrl)
 ……
 eventidMsgOut = 1L,
 //}}AFX_DISP_ID
};
……
BEGIN_EVENT_MAP(CSample68Ctrl, COleControl)
//{{AFX_EVENT_MAP(CSample68Ctrl)
EVENT_CUSTOM("MsgOut", FireMsgOut, VTS_NONE)
//}}AFX_EVENT_MAP
END_EVENT_MAP()

  上述代碼添加了一個MsgOut的自定義事件,可以在通過調用FireMsgOut()來激發。下面對Message屬性的OnMessageChanged()消息響應函數進行修改,每當Message屬性內容被更改都會調用該函數,在該函數中調用此前添加的MessageLen()方法以確定更改后的Message屬性的字符串長度,在長度大于10時調用FireMsgOut()觸發MsgOut事件:

void CSample68Ctrl::OnMessageChanged()
{
 InvalidateControl();
 if (MessageLen() >= 10)
  FireMsgOut();
  SetModifiedFlag();
}


圖10 選擇要記錄的事件

  在用ActiveX Control Test Container對剛添加的事件進行測試時,首先通過"Control"菜單下的"Logging…"菜單項彈出如圖10所示的對話框,并從"Events"屬性頁中選中要跟蹤記錄的事件。當通過Invoke Methods對話框設置Message屬性的內容超過10個字符后,位于程序框架下方的分割視圖將記錄控件所觸發的MsgOut事件(如圖11所示)。


圖11 對事件的測試

  實現屬性表

  屬性表是ActiveX控件所特有的一種技術,可以在包容器程序處于設計階段時為其提供一個可視化的人機交互界面,并可以通過其對控件的自定義屬性和庫存屬性進行設置。在用向導生成程序框架的同時即已經生成了一個空的用于管理自定義屬性的屬性頁。在代碼上通過控件類實現文件中的屬性頁ID表對其進行維護:

BEGIN_PROPPAGEIDS(CSample68Ctrl, 1)
PROPPAGEID(CSample68PropPage::guid)
END_PROPPAGEIDS(CSample68Ctrl)

  這里的CSample68PropPage類是從COlePropertyPage派生出來的,而COlePropertyPage的基類又是CDialog,因此不難發現CSample68PropPage與通常的對話框類是比較相似的。可以象處理對話框一樣在資源視圖中為缺省的屬性頁添加與自定義屬性相關的交互用控件,并通過ClassWizard將這些控件與類成員變量建立綁定關系。但是有一點不同,就是在綁定成員變量時還要與控件中的相應屬性建立起對應關系。如圖12所示,在Optional property name組合框中輸入自定義屬性名或是直接從下拉列表選擇庫存屬性名,ClassWizard向導將在屬性頁類的DoDataExchange()函數中添加控件、變量和屬性的綁定代碼:

void CSample68PropPage::DoDataExchange(CDataExchange* pDX)
{
 //{{AFX_DATA_MAP(CSample68PropPage)
 DDP_Text(pDX, IDC_MESSAGE, m_sMessage, _T("Message") );
 DDX_Text(pDX, IDC_MESSAGE, m_sMessage);
 DDP_Text(pDX, IDC_TITLE, m_sCaption, _T("Caption") );
 DDX_Text(pDX, IDC_TITLE, m_sCaption);
 DDP_Text(pDX, IDC_XPOS, m_nXPos, _T("XPos") );
 DDX_Text(pDX, IDC_XPOS, m_nXPos);
 DDP_Text(pDX, IDC_YPOS, m_nYPos, _T("YPos") );
 DDX_Text(pDX, IDC_YPOS, m_nYPos);
//}}AFX_DATA_MAP
DDP_PostProcessing(pDX);
}


圖12 成員變量、控件與屬性的綁定[SPAN]

  這里只是在向導生成的缺省屬性頁中實現了自定義屬性的可視化設置。雖然也可以用相同的方法為庫存屬性進行設置,但是更多的還是采用添加庫存屬性頁ID的方法來直接使用庫存屬性頁來對其進行維護。例如,對于庫存屬性BackColor和ForeColor,可以通過ID號為CLSID_CcolorPropPage的庫存屬性頁來進行設置,在將其添加到屬性頁ID表的同時一定要注意修改BEGIN_PROPPAGEIDS()宏的屬性頁計數,否則將會引起系統的崩潰:

BEGIN_PROPPAGEIDS(CSample68Ctrl, 2)
PROPPAGEID(CSample68PropPage::guid)
PROPPAGEID(CLSID_CColorPropPage)
END_PROPPAGEIDS(CSample68Ctrl)

  繼續在ActiveX Control Test Container中測試控件,將其插入后選擇"Edit"菜單的"Properties…"菜單項,將彈出入圖13所示的屬性表。該屬性表共有三個屬性頁,其中第一個屬性頁為剛才編輯的自定義屬性頁,第二個屬性頁(如圖14所示)即為CLSID_CcolorPropPage所指定的顏色屬性頁(為庫存屬性頁),最后一個屬性頁則是向導自動添加的擴展屬性頁。在屬性表中設置了相應的屬性后,點擊"應用"按鈕即可讓控件使用新的屬性。這與在"Invoke Methods"對話框中所完成的功能一樣,但顯然要方便的多。而且在包容器程序的設計階段,也是通過該屬性表來完成控件與客戶的屬性設置交互的。


圖13 控件的屬性表


圖14 顏色屬性頁

   在包容程序中使用ActiveX控件

  對于ActiveX控件的包容器程序,并不需要象使用OLE文檔服務器或ActiveX文檔服務器對象那樣編寫特定的包容器程序框架,直接將控件添加到工程并在對話框上創建即可對其進行使用。

  通過"Project"菜單下的"Add To Project"菜單項彈出的"Components and Controls…"子菜單項打開一個"Components and Controls Gallery"對話框,進入到Registered ActiveX Controls目錄下,選取前面創建的ActiveX控件,并將其添加到工程。向導將會在工程中添加一個關于此ActiveX控件的包裝類,并在"Controls"工具欄中添加一個表示此控件的圖標。可以象使用其他的標準控件一樣將其放置到對話框資源中,并修改其缺省屬性。除此之外,還可以在程序中通過對控件包裝類成員函數的使用來動態更改控件的屬性設置。例如,下面這段代碼通過包裝類對象m_ctrlTest在程序運行期間動態設置了控件的XPos、YPos 以及Message屬性:

// 更新顯示
UpdateData();
// 動態更改控件的Message屬性
m_ctrlTest.SetMessage(m_sInput);
// 設置顯示坐標
m_ctrlTest.SetXPos(10);
m_ctrlTest.SetYPos(10); 


圖15 添加事件響應函數

  在資源視圖中用鼠標右鍵點擊放置于對話框上的ActiveX控件,并從彈出菜單中選擇"Events…"菜單項,將彈出如圖15所示的對話框,在左邊的列表框中顯示了控件提供的事件,雙擊事件將在包容器程序中添加相應的事件處理函數和事件映射表,并可以在響應控件發出的事件后進行相應的處理:

BEGIN_EVENTSINK_MAP(CSample69Dlg, CDialog)
//{{AFX_EVENTSINK_MAP(CSample69Dlg)
ON_EVENT(CSample69Dlg, IDC_SAMPLE68CTRL1, 1 /* MsgOut */, OnMsgOutSample68ctrl1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
……
void CSample69Dlg::OnMsgOutSample68ctrl1()
{
 // 得到輸入字符數
 int nNum = m_ctrlTest.MessageLen();
 // 回顯信息
 m_sInput.Format("輸入字符太多,共輸入了%d個字符", nNum);
 // 顯示信息
 UpdateData(FALSE);
}

  從上述對ActiveX控件的使用過程可以看出其與標準控件的使用并沒有什么太大的區別,通過包裝類使得在客戶程序中對控件屬性、方法的使用可以象使用普通MFC類一樣簡單。另外,在控件的包裝類中還提供有Create()方法,使在程序運行期間也能夠動態創建控件。

  小結

  盡管ActiveX控件從技術上集成了COM和OLE的許多精華技術,但由于MFC對ActiveX控件提供了強大的支持,使得對ActiveX控件的開發成為一件非常容易的事情。但要深刻理解ActiveX控件技術,還要對一些基礎技術有一個基本的概念,本文的目的并不在于介紹如何編寫一個ActiveX控件,而是通過對控件的創建過程的分析而使讀者能夠對ActiveX控件的開發有一個新的認識。本文所述代碼在Windows 2000 Professional下由Microsoft Visual C++ 6.0編譯通過。


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn

文章轉載自:DIY部落

為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
精产国品一 | 亚洲中文字幕人成乱在线 | 99精品全国在线观看 | 亚洲成年人免费a级网站 | 日本aⅴ精品一区二区三区日 | 欧美性色欧美a在线播放 | 亚洲第一页a∨在 | 国产精品全网免费在线播放 | 欧美日韩在线 | 日本精品欧美一区二区三区 | 特黄a三级三级三级视频 | 国产99视频精品免费视频76 | 蜜桃精品一区二区三区在线观看 | 国产精品专区第一页在线观看 | 亚洲国内自拍愉拍中文字幕 | 国产激情一区二区三区小说 | 中文版精| 1区2区日韩欧美国产 | 在线综合亚洲欧洲综合网站 | 国产精品日产欧美在线一区 | 国产91页| 国产人成在线观看 | 在线亚洲日韩欧美一区二区 | 欧美精品视频一区二区三区 | 免费在线观看电视剧大全 | 欧美三级 | 亚洲国内精品自在线影视 | 欧美、另类亚洲日本一区二区 | 亚洲精品动漫一区二区三区在线 | 九九在线精品观看 | 精品日韩在线视频一区二区三区 | 日韩高清在线高清免费 | 国产精品一区二区久 | 一区②区三区电影网 | 色综合欧美在线视频区 | 日本精品无人区1区2区3区 | 中文字字幕乱码无线精品精品 | 免费国产自线拍 | 国产男女拍拍拍高清视频 | 亚洲欧美日韩国产一区二区三区 | 亚洲综合区夜久 | 国产又粗又大又黄的视频 | 天美传媒果冻传媒国产电影 | 国产在线拍揄自揄拍免费下 | 精品国产综合色在线 | 中文字幕精品亚洲无线码一区 | 日本一区二区成人教育 | 国产综合一区二区三区 | 国产精品亚洲给色区 | 国产未成女 | 电视剧大全免费全集观看。 | 国产午夜福利在线永久视频 | 亚洲综合第 | a人妖亚洲 | 米奇欧美777四色影视在线 | 日本中文字幕高清 | 国产人在线成免费 | 欧美自拍偷拍视频 | 国产一级在线现免费观看 | 中文国产欧美影视 | 国产亚洲精aa在线观看香蕉 | 亚洲男人的天堂在线播放 | 国产精品激情自拍 | 日本人xxxx高清 | 日本高清视频一区二区 | 国产免费一区二区三区在线 | 女人国产香 | 新午夜电影网 | 日韩欧美视频一二区 | 欧美午夜网 | 九九视频国产免 | 高清在线亚洲精品国产二区 | 米奇影院888奇米色99在线 | 伦电影理论片 | 精品永久在线 | 精品国自产拍网站 | 窝窝午夜看片 | 国产欧美一区二区另类精品 | 日本精品欧美一区二区三区 | 欧美亚洲精品久五月亚洲综合婷婷 | 亚洲日韩一页精品发布 | 欧美黑大硬粗xxxxx成人视颎 | 五月婷婷中文字幕 | 国产午夜亚洲精品理论片不卡 | 美女被男人 | 国产精品日本一区二区不卡视频 | 精品国产午夜福利在线观看蜜月 | 亚洲香蕉国产高清在线播放 | 永久免费4k观影站 | 国产福利在线网址成人 | 国产亚洲精品不卡 | 91免费观看| 在线中文字幕有码中文 | 国产痴汉系列在线播放 | 亚洲高清网站 | 日韩大片在线观看入口 | 国产精品天干天干在线综合 | 国产资源中文字幕 | 最近中文字幕免费高清mv视频6 | 亚洲欧美v视色一区二区 | 国产超级 | 欧美一区二区电影免费观看 | 日日摸夜夜添欧美一区 | 国产痴汉系列在线播放 | 国产日韩一区美利坚 | 五月激情丁香婷婷综合第九 | 日本一区二区三区精品 | 2025年最新电影电视剧 | 午夜不卡影 | 日本免费一区二区三区在线播放 | 日韩专区中文字幕在线 | 免费激情网站国产高清第一页 | 国产精品福利在线观看免费 | 亚洲日本一线产区和二线 | 色色色setu | 欧美a级v片在线观看 | 丰乳翘臀 | 国产在线精品观看一区欧美 | 加勒比综合免费不卡在线观看 | 欧美丰满大黑帍在线播放 | 国产福利精品在线观看 | 国产99福利精 | 国产亚洲精品ae86 | 国产性色惰视频 | 亚洲一区二区三区在线观看 | 亚洲国产精品自在现线让你爽 | 桃花在线观看视频播放 | 国产不卡一区二区电影网 | 欧美在线一区二区 | 一级特黄高清aaaa大片 | 国产又大又粗又长免费视频 | 日韩免费在线视频观看 | 亚洲国产经典国产精品观看免费 | 国产午夜亚洲精品不卡在线观看 | 免费国产人做人视频在线观看 | 国产精品对白交换绿帽视频 | 骚女影院 | 亚洲2025天天堂在线观看 | 欧美一级高清片国产特黄大 | 免费高清电影影视大全 | 国产精品99精品一区二区浪潮 | 日日澡夜| 7799精彩视频天天看网站 | 国产视频一区在线观看 | 亚洲日本欧美综合在线一 | 在线观看午夜福利片日本 | 欧美丝袜自拍制服另类 | 国产亚洲aⅴ在线电影 | 大片免费视频观看 | 日韩一区二区三区免费视 | 精品国产污网站在线观看15 | 亚洲精品国产一级高清在线观看 | 国产喷水在线观看 | 午夜性刺激在线观看 | 无线码免费播放 | 欧美日韩亚洲精品瑜伽裤 | 亚洲欧美日韩精品高清 | 免费人成年短视频在线观看网 | 69精产国品 | 亚洲国产欧洲在线一区 | 青青久在线视频 | 在线影视网站 | 国产乱码精品一区二区三区四川人 | 日韩一区二区超清视频 | 欧美日韩一区二区综合在线 | 成人+在线+| 国产一区视频在线免费观看 | 一本加勒比hezyo国产 | 国产欧美日韩精品a在线观看 | 国产一区视频在线免费观看 | 91成版人在线观看入口 | 亚洲中文在线不卡 | 欧美亚洲日韩国 | 免费人成再在线观看视频 | 免费亚洲国 | 欧美色aⅴ欧美综合色 | 偷拍激情五月天 | 囯产精品一区二区三区乱码 | 成人午夜污污在线观看网站 | 91免费入口 | 最新手机在线电影 | 一级国产片在线 | 一道久在 | 免费草逼视频网站 | 91桃色在线免费观看 | 极品女神 | 亚洲色精品vr一区二区三区 | 成+人+免费+黄+网站 | 九九热在线免费观看 | 国产精品国语对白一区二区 | 国产偷伦视频高清完整版 | 日本高清专区一区二无线 | 一区二区三区 | 久99久热只有精品国产15 | 亚洲国产福利成人一区二区 | 国产主播一 | 国产拍偷 | 国产精品厕所 | 91社影院在线观看 | 自拍偷自拍亚洲精品播放 | 免费电影天堂 | 亚洲a日本一区二区 | 高清影视在线播放 | 女厕所撒尿视频免费 | 国产精品三级国语在线看 | 我们高清观看免费中国片 | 成都在线观看免费观看 | 二三区成人影片 | 欧美、另类亚洲日本一区二 | 国产在在 | 加勒比色 | 日韩欧美aⅴ综合网站发布 大香伊蕉在人线国产最新75 | 欧美日本综合一区二区三区 | 欧美人成在线观看网站高清 | 亚洲成a人在线观看片 | 国产精品精品国内自产拍 | 2025最新热门电视排行榜 | 三级三级三级a级全黄 | 99这里都是精品 | 又硬又粗又大一区二区三区视频 | 最新好看的电视剧免费在线观看 | 抖音奶片 | 国产第20页 | 欧美日韩国产一区三区 | 91免费国产在线观看尤物 | 国产精品成人免费福利 | 电影大全 | 蜜桃一区二区三区 | 亚洲人亚洲精品 | 污网站在线观看视频平台 | 区二区视频在线观看 | 欧美a一级在线观看 | 最新高清电影在线免费观看 | 亚洲欧美在线精品一区二区 | 99ri视频一区二区三区 | 91大神在线资源观看无广告 | 欧美一区二区三区精品视频在线 | 国产一区二区精品尤物 | 午夜国产精品视频一区 | 一级a爱片免费观看高清完整 | 亚洲国产的精品太乱码一区二区 | 夜鲁鲁鲁夜夜综合视频 | 国产在线观看一级二级三级 | 日韩视频免播放在线观看 | 亚洲精品伊人 | 红桃www.ht84pp成人 | 国产高清不卡一区二区 | 午夜一区一品日本 | 揄揄撸一区 | 中日欧洲精品视频在线 | 在线观看人成视频免费不卡 | 国产高清视频免费在线观看 | 欧美日韩一区精品视频一区二区 | 日韩午夜福利免 | 日本欧美国产婷婷 | 欧美激情视频精品一区二区 | 国产精品乱码高清在线观看 | 日韩精品一区二区三区中文字幕 | 欧美日韩精品一区二区在线观看 | 又粗又长又硬又黄免费 | 欧美日韩国产亚洲综合网 | 国色天香精品亚洲精品 | 人成视频在线观看 | 精品三级| 欧美日本片一区二区 | 国产午夜福利片 | 手机国产乱子伦精品视频 | 成人又黄又爽又色的网站 | 91精品国自产在线观看 | 国自产精品手机在线观看视 | 亚洲区小说区图片区qvod | 亚洲人午夜射精 | 91欧洲在线视精品在亚洲 | 国产欧美在线一区二区三区 | 一区二区区别是什么 | 国产乱码精品一品二品 | 欧美亚洲一区二区三区导航 | 在线观看的精 | 国产农村一| 国产精品成人免费福利 | 亚洲中国中文字幕免费 | 亚洲最大国产综合91 | 国产一级a毛一级a视频 | 国产小视频在线播放 | 国产精品一区二区手机看片 | 国产福利自产拍在线观看 | 2025手机影院 | 日韩欧美亚洲国产ay | 911亚洲精选 | 免费视频6| 亚洲中文字幕在线观看视频 | 2025最新国产在线不卡a | 亚洲一区二区观看播放 | wwwwwww黄| 国产一区二区在线视频观看 | 欧美人与动交zoz0 | 中文字幕二区在线 | 天美影视–天美影视传媒有限公司 | 手机在线电影 | 五月天久| 勃起又长又黑又粗毛又多 | 亚洲综合区夜久 | 国产理论在线观看应用 | 一本加勒比hezyo国产 | 国产在线不| 免费国产在线观看 | 最近中文字幕 | 操操综合 | 激情小说亚洲图片伦 | 国产精品综合日韩精品第一页 | 国产精品亚洲一区二区在线观看 | 国产精品丝袜黑色高跟鞋 | 国产秘精品入口欧 | 亚洲精品园精 | 2025国产精品手机在线观看 | 在线国产自偷自拍视频 | 米奇影院日韩免费 | 国内自拍小视频 | 婷婷亚洲久悠悠色在线播放 | 国产精品激情一区在线观看 | 成人午夜看片在线观看 | 亚洲呦女专区 | 国产精品每日更新在线观看 | 红杏亚洲| 国产在线观看91精品 | 亚洲伊人精品酒店 | 欧美视频一区二区三区在线观看 | 正在播放国产精品 | 亚洲裸男gv | 国产乱码在线精品可播放 | 国产精品视频全国免费观看 | 欧美黑人又粗又大又爽免费 | 国产高清在线a视频大全 | 男人和女 | 乱子午夜国产电 | 最近中文字幕mv在线视频www | 午夜理论片大全福利 | 欧美一级大黄特黄 | 亚洲天堂一区二区 | 欧美特级特黄aa | 日本韩国三级aⅴ在线观看 老妇小说 | 精品国产午夜福利在线观看 | 永久www忘忧草 | 五月天亚洲欧美激 | 日日摸日日 | 亚洲一区二区 | 国产精品视频观看 | 欧美自拍区日韩国产区 | 91免费在线视频 | 亚洲人成在线观看网站播放 | 91看片婬黄大片 | 九九影院| 国精产品一区一区三区 | 亚洲欧美国产另类 | 日韩视频在线观看 | 99热这| 国产精品萌白酱永久在线观看 | 99在线精品日韩一区免费国产 | 最新版本直播app | 最新色国产精品精品视频 | 国产精品一区二区亚 | 99热这里只有精品动漫国产 | 国内精品伊 | 国产鲁鲁视频在线观看 | 亚洲欧洲自拍偷线高清一区二区 | 国产性爱在线播放 | 精品国产91乱码一区二区 | 对白刺激的老熟女露脸 | 成年轻人视频免费视频 | 欧美一级精品 | 网站资源多午夜激情影院 | 欧美a级大片 | 成人国产亚洲精品a区天堂 激情五月天深爱网 | 欧美亚洲综合成人a∨在线 亚洲国产中文字幕在线观看 | 涩涩热热国产丝袜一区 | 成年奭片免费观看 | 午夜影视在线播放免 | 全国三级网站在线观看 | 国产精品久线在线观看 | 国产精品中文字幕制服 | 男女超爽视频免费播放 | 国产人成中文字幕 | 精品欧美日韩一区二区三区 | 亚洲午夜福利在线观看 | 一区二区三区欧美 | 国产香港日本三级在线 | 99热精品福利在线观看 | 好看的日韩电影 | 欧美色惰| 国产又色又爽又黄又刺激的网站 | 亚洲国产精品福利片在线观看 | 国产盗摄电影区9876色 | 亚洲第一区精 | 99视频精品全部国产盗摄 | 美女视频黄频a美女大全 | 日日噜噜夜夜狠狠va | 国产精品99精品一区二区三区 | 亚欧洲精品在线视频免费观看 | 亚洲欧美人成综合在线最新 | 国产a∨精品一区 | 国产在线欧美日韩精品一区 | 午夜视频在线观看免费 | 欧美a级片免费看 | 一区二区不卡中文字幕在线 | 97亚洲精华液 | 国产又色 | 99精品视频在线观看免费 | 精品第一国产综合精品蜜芽 | 四川w搡bbb搡wbbb搡按摩 | 国产热久| 日本高清乱理伦片中文字幕 | 国产精品乱码一区二区三区 | 日韩欧美一级大片 | 中文字幕在线一 | 精品一区二区三区在线免 | 国产在线精| 最近更新中文字幕2025视频 | 精品日韩第56页 | 激性欧美在线播激性欧美 | 亚洲午夜一区二区三区在线观看 | 日本一二线不卡在线观看 | 99视频热这里只有精品 | 女女射最新视 | 国产精品专区第5页 | 日韩精品免费一区二区三区 | 国产精品一 | 免费午夜拔丝袜 | 羞羞视频下载ap | 欧美精品亚洲精品日韩专区 | 最近免费中文字幕视频高清在线看 | 激情五月综合网 | 色一情一乱一伦一区二区三区 | 日本三级带日本三级带黄首页 | 57pao视频国产在线观看 | 日韩影视网 | 国产最新美 | 欧美性猛交xxxx黑人 | 日本视频在线观看不卡高清免费 | 日韩一区二区四区高清免费 | 午夜成人爽爽爽视频在线观看免费 | 精品国产自 | 国产精品一区二区久 | 亚精区区一区区二在线观看 | 国产超级| 在线亚洲高清揄拍自拍一品区 | 国产一区二区免费视频 | 免费人成年短视频免费网站 | 国产suv精品一区二区883 | 女同另类一区二区三区 | 国产欧美一区二区三区在线看 | 国产精品女同一区二区免费站 | 伊人成年网站综合网 | 欧亚乱色熟一区二区三四区 | 中国在线观看免费国语版 | 亚洲欧美一区二区三区在线 | 18欧美乱大 | 亚洲国产精品91 | 国产亚洲精品aa | 香港三日本三级人妇三级99 | 国产在线精品国自产拍影院 | 全网最新院线电影 | 电视剧大全 | 97国产在线看片免费人成视频 | 日产精品二线三线 | 国产字幕制服中文在线 | 午夜一区二区三区在线 | 国产高清不卡一区二区 | 亚洲自偷自偷精品 | 国语自产偷拍精品视频偷 | 国产午夜亚洲精品不卡免下载 | 欧美在线精品视频二区 | 成人精品一区二区户外勾 | 亚洲一区二区三区在线 | 国产不卡视频一区二区三区 | 国产免费午夜福利在线播放92 | 完整版在线观看 | 亚洲日韩在线精品茄子在线 | 成人三级做爰视频在线看 | 亚洲一区日韩高清中文字幕亚洲 | 992t| 国产福利电影一区二 | 亚洲日本国 | 免费人成黄页在线观看国产 | 性午夜视频在线观看 | 国产在线精品一区二区高清不卡 | 成人性午夜视频在线观看 | 精品亚洲成a人app | 欧美激情国产 | 视频一区二 | 亚洲免费图区在线视频 | 最新亚洲精品国自 | 色老头一区二区三区 | 国产精品日韩欧 | 亚洲日韩天堂在线 | 亚洲日韩欧美 | 国产炮机主播在线观看 | 日韩国产欧美精品综 | 最好免费观看高清视频大全 | 欧美自拍另类欧美综合图片区 | 国产又猛又黄又爽在线视频无 | 日韩丰满少 | 日本一区二区三区在线观看网站 | 欧美在线视频一区 | 天堂va蜜桃一区二区三区 | 亚洲精品无播 | 日本精品电影一区二区三区 | 国产在线观看中文字幕 | 中文乱码字幕在线观看播放 | 电家庭影院午夜 | 国产亚洲日韩欧美在线成 | 国产精品激情综合 | 免费国产黄线在线观看 | 国产一级a爱片免费看 | 欧美嫩交一区二区三区 | 好吊操视频这里只有精品 | 国产高清在线观看一区二区三区 | 国产精品冒白 | 999热成人精品国 | 91亞洲播播 | 亚洲欧美日韩人兽免费 | 思热99re视热 | 国产人妖ts视频在线观看 | 亚洲精品亚洲人成在线观看 | www网站羞羞视 | 最新高清电影 | 在线观看国产三 | 亚洲品质自拍视频 | 免费人成网站在线免费观看 | 不卡日韩中文字幕在线观看 | 欧美最猛黑人xxxx | 亚洲成熟女人毛毛耸耸多 | 国产女生福利 | 国产真实迷奷 | 亚洲国产中日韩精品综合 | 欧美老少配孩交 | 品一二三产区 | 亚洲精品视频一区二 | 成人国产在线视频 | 国语自产精品视频 | 白色丝袜 | 国产欧美日韩在线 | 天天躁日日躁狼狼 | 亚洲成?v人片在线观看福利 | 很黄很色的免费视频在线观看 | 亚洲限制级资源在线观看 | 91人人澡人人 | 高清欧美日韩一区二区三区在线 | 善良的老师中文字 | 6080欧美一区二区三区四区 | 亚洲日本在线在线看片4k超清 | 亚洲aⅴ乱码一区二区波多野 | 国产三j | 国产乱码精品一区 | 国产精品网红尤物福利在线 | 亚洲国产韩国欧美在线 | 欧美重口另类在线播放二区 | 国内一区二区三区在线观看 | 亚洲高清无一区二区三区四区 | 亚洲精品资源网在线观看 | 国产欧美自拍偷怕日韩亚洲 | 国产免费人成视频在线观看 | 国产婷婷一区二区在线观看 | 亚洲v天堂2025 | 日韩中文字幕v亚洲中文字幕 | 国产一区二区在线观看免费 | 欧美激情一区二区三区中文字幕 | 天天影视人人综合日韩 | 国产精品国产自线拍免费不卡 | 在线视频一区二区男男 | 婷婷综合缴情亚洲狠狠 | 综合网在线| 免费中文字幕不卡视频 | 521香蕉网欧美 | 日韩欧美中文字幕在线视频 | 亚洲国产区男人本色 | anquye| 国产性色的 | 日韩欧美另类一区二区三区 | 最新中文字幕在线观看免费不卡 | 亚洲a级情欲片在线观看 | 日韩精品极品视频在线观看免 | 国产亚洲久一区二区 | 精品日产卡一卡二卡国色天香 | 美女被肏翻白眼视频在线观看 | 日本有码中文字幕第二页 | 黄+片在线免费观看+精品+巨 | 网曝精品视频在线 | 亚洲一区二区在线播放 | 日本一二三高清 | 精品国产午夜福利在线观看蜜月 | 91高清免费国产自产拍不卡 | 欧美日韩国语aⅴ视频网站 国产高清自偷自 | 国产一区视频在线观看免费 | 黄工厂精品视频在线观看 | 国产美女 | 国产午夜小视频在线不卡 | 国产精品萌白酱永久在线观看 | 午夜国产小视频 | 国产人伦激情在线观看 | a大片高清在线观看 | 91秦先生久 | 在线观看免费无 | 欧美丰满大| 日韩最新免费视频一区二区 | 国产精品第44页 | 免费大mm视频在线观看 | 精品国偷自产在线视频99 | 99在线精品免费 | 成人国产精品日韩 | 91视频app污 看看永久 | 91破解版在线 | 国产手机自拍视 | 日本中文字幕永久免费 | 欧美日韩视频在线观看第一区 | 亚洲全网 | 日韩亚洲欧美中文高清在线 | 办公室大战高跟丝袜秘书经理ol | 国产日产成人免费视频 | 免费人成视网站在线观 | 亚洲.欧美.中文 | 亚洲午夜精 | 欧美精品黑人粗 | 亚洲日韩看片 | 欧美黑人又大又粗xxxⅹ | 最新日韩午夜一区二区 | 香蕉有码在线视频发布 | 国产一区二区三区不卡在线看 | 欭美日韩颜射在线 | 亚洲人成人一区二区三区 | 国产精品精华液网站 | 亚洲中文娱乐网在线观看 | 亚洲国产成 | 亚洲国产成| 一本精品一区二区在线观看 | 日韩中文字幕网先锋资 | 欧美中日韩免费观 | 亚洲国产精品一区 | 香蕉久人久人青草青草 | 三级a在线视频观看永久 | 黑人巨大精品欧美一区二区 | 欧美一区二区激情视频在线播放 | 欧美日韩不卡中文网 | 国产精品自拍亚洲 | 免费影院 | 国产午夜爽爽窝窝在线观看 | 欧美高清性色生活片免费观看 | 国产亚洲精品aa在线观看 | 日韩精品在线视频一区二区三区 | 亚洲综合日韩精品欧美综合区 | 91国偷自产中文字幕婷婷 | 国产99这里只有精品 | 国产又粗又 | 亚洲欧美另类在线区 | 色拍自拍亚洲综合图区 | 成人欧美精品资源在线观看 | 九九九全国免费视频 | 秒拍视频福利永久国产 | 精品国产不卡一区二区三区 | 亚洲成v| 污污网站在线观看免费 | 亚洲国产精品青青网 | 九九线精品视频在线观看视频 | 国内精品在线观看看 | 亚洲天堂网一区二区三区四区 | 92国产福利午夜 | 日韩中文高清一 | 在线精品国产一区二区 | 亚洲精品高清中文字幕完整版 | 日韩欧美亚洲一区 | 一区二区三区免费在线观看视频 | 韩国三级hd中文 | 亚洲欧美日本国产专区一区 | 国产中文字幕玖玖 | 成人午夜福利短视频在线观 | 日韩精品免费一级视频 | 日韩午夜福利免 | 国产熟女乱伦一区二区 | 天天影视人人综合日韩 | 黄瓜视频在线观看 | 国产精品白拍三级 | 欧美一区二区三区性 | 国产欧美精品一区二区三区四区 | 欧美va亚洲va在线观看 | 国产精品狼人 | 国产在线观看色窝网 | 日韩精品一区二区三区蜜桃 | 国产高清vs在线视频 | 国产91精品一区二区 | 日韩v亚洲v欧美v精品综合 | 日韩精品三级 | 欧美日韩中文亚洲v在线综合 | 日本性爱视频免费看 | 国产精品综合在线观看 | 国产va天堂va欧美va | 中国在线观看免 | 成aⅴ人片在线观看蜜桃 | 国产精品播放一区二区三区 | 亚洲欧美日韩另类中文字幕组 | 成人国产 | 亚洲欧洲淘宝天堂日本 | 黑人巨大精品欧美一区在线 | 国产精品三三级在线 | 国产在线脚交免费网站脚丫 | 亚洲区小说区 | 国产高清一区二区在线免费观看 | 92午夜福利1000集在线看 | 西西人体大胆扒开下部337卩 | 日本aⅴ精品一区二区三区日 | 亚洲一区精品在线视频 | 国内三级自拍小视频在线观看 | 偷偷要色偷偷 | 在线看片免费人成视频手机观看 | 一区二区三区在线视频不卡 | 日日精品国产高清国产专区 | 日韩欧美国产精品免费一二 | 天堂在线中文网www 女人的天堂a国产 | 美丽的姑娘高清版在线观看 | 精品亚洲欧美无人区乱码 | 精品成人18成人免费视频 | 国产ppp视频 | 成人国产 | 2025最新免费电影 | 国产美女自拍视频 | 五月天婷婷网亚洲综合在线 | 日本在线tv黄 | 亚洲欧美国产制服另类 | 在线观看亚洲精品一区二区 | 欧美亚洲日本 | 私人订制1080在线观看免费 | 国产在线一卡2卡三卡4卡免费 | 在线一区| 日韩免费影视 | 日韩高清在线播放不卡 | 91免费观看 | 日韩视频一区二区在线观看 | 女人成午夜大片7777在线 | 国产欧美亚 | 性夜影院爽黄a爽免费看不卡 | 亚洲午夜福利在线观看 | 五月综合激情国产 | 国内成人福利短视频在线 | 国产福利一区二区精品秒拍 | 国产未成女一区二区三区 | 欧美最猛黑人xxxx黑人猛交 | 日亚洲第| 日国产一区三区三区在线观看 | 日韩成人精品无v国产 | 免费高清观影 | 天美影视| 成视人a免费观看视频 | 亚洲欧美综合在线精品 | 成人xx视频 | 99国产欧| 99这里都是精品 | 99久热精| 午夜影院高清无 | 国产又大又粗 | 国产又粗又大又长又猛在线视频 | 欧美亚洲高清日本 | 欧美综合在线观看日本 | 一级视频亚洲视频在线观看 | 乱码一码二码三码四码狼人 | 中文字幕有码在线观看 | 中文字幕2025 | 特级西西| 亚洲欧美国产日韩精品在线 | 日韩视频中文字幕视频一区 | 亚洲大片精 | 日本三级韩国三级香港三级a级 | 青青导航| 亚洲国产精品日韩专区a∨ 欧美国产日韩a视频在线不卡 | 国产极品美女一区二区三区 | 干天堂在 | 美女视频黄频a美女大全 | 又大又硬一进一出做视频 | 91福利国产在线 | 国产又粗又长又黄又猛 | 免费人成网站视频在线观看国内 | 亚洲免费体验区 | 欧美日韩精品在线播放 | 丁香九月月小说图片区 | 88国产| 国产精品一一在线观看 | 中文字幕在线播放视频 | 24小时在线观看 | 26uuu亚洲综 国产亚洲a | 噼里啪啦hd免费观看动漫 | 日韩伦理一区二区精品视频 | 国产69公社在线视频 | 军训完被教官灌满精子男男 | 亚洲午夜一区二区三区在线观看 | 欧美日韩国产一区国产二区 | 高清影视 | 亚洲欧美另类在线区 | 偷国内自拍视频在线观看 | 成人污污污www网站免费 | 欧美一区二区三区视频在线 | 一级特黄国产免费大片 | 日韩亚洲欧美一区二区三区综合 |