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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mfc教程_ 對(duì)話框和對(duì)話框類cdialog.htm

?? MFC的教程。 包括: MFC教程_ 概述.files MFC教程_ MFC和Win32.files MFC教程_ CObject類.files MFC教程_ 消息映射的實(shí)現(xiàn).files
?? HTM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.vczx.com/tutorial/mfc/mfc12.php -->
<HTML><HEAD><TITLE>MFC教程_ 對(duì)話框和對(duì)話框類CDialog</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2668" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<OL start=12>
  <P align=justify>
  <LI><A name=_Toc452640997></A><A name=_Toc457299109></A><B>對(duì)話框和對(duì)話框類CDialog</B> 

  <P></P>
  <P align=justify>對(duì)話框經(jīng)常被使用,因?yàn)閷?duì)話框可以從模板創(chuàng)建,而對(duì)話框模板是可以使用資源編輯器方便地進(jìn)行編輯的。</P>
  <OL>
    <P align=justify>
    <LI><A name=_Toc452640998></A><A name=_Toc457299110></A><B>模式和無(wú)模式對(duì)話框</B> 
    <P></P>
    <P align=justify>對(duì)話框分兩種類型,模式對(duì)話框和無(wú)模式對(duì)話框。</P>
    <OL>
      <P align=justify>
      <LI><A name=_Toc457299111></A><B>模式對(duì)話框</B> 
      <P></P>
      <P align=justify>一個(gè)模式對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題欄、邊線等的彈出式窗口。在創(chuàng)建對(duì)話框時(shí)指定WS_POPUP, 
      WS_SYSMENU, WS_CAPTION和 DS_MODALFRAME風(fēng)格。即使沒(méi)有指定WS_VISIBLE風(fēng)格,模式對(duì)話框也會(huì)被顯示。</P>
      <P 
      align=justify>創(chuàng)建對(duì)話框窗口時(shí),將發(fā)送WM_INITDIALOG消息(如果指定對(duì)話框的DS_SETFONT風(fēng)格,還有WM_SETFONT消息)給對(duì)話框過(guò)程。</P>
      <P align=justify>對(duì)話框過(guò)程(Dialog box procedure)不是對(duì)話框窗口的窗口過(guò)程(Window 
      procedure)。在Win32里,對(duì)話框的窗口過(guò)程由Windows系統(tǒng)提供,用戶在創(chuàng)建對(duì)話框窗口時(shí)提供一個(gè)對(duì)話框過(guò)程由窗口過(guò)程調(diào)用。</P>
      <P 
      align=justify>對(duì)話框窗口被創(chuàng)建之后,Windows使得它成為一個(gè)激活的窗口,它保持激活直到對(duì)話框過(guò)程調(diào)用::EndDialog函數(shù)結(jié)束對(duì)話框的運(yùn)行或者Windows激活另一個(gè)應(yīng)用程序?yàn)橹梗诩せ顣r(shí),用戶或者應(yīng)用程序不可以激活它的所屬窗口(Owner 
      window)。</P>
      <P 
      align=justify>從某個(gè)窗口創(chuàng)建一個(gè)模式對(duì)話框時(shí),Windows自動(dòng)地禁止使用(Disable)這個(gè)窗口和它的所有子窗口,直到該模式對(duì)話框被關(guān)閉和銷毀。雖然對(duì)話框過(guò)程可以Enable所屬窗口,但是這樣做就失去了模式對(duì)話框的作用,所以不鼓勵(lì)這樣做。</P>
      <P 
      align=justify>Windows創(chuàng)建模式對(duì)話框時(shí),給當(dāng)前捕獲鼠標(biāo)輸入的窗口(如果有的話)發(fā)送消息WM_CANCLEMODE。收到該消息后,應(yīng)用程序應(yīng)該終止鼠標(biāo)捕獲(Release 
      the mouse capture)以便于用戶能把鼠標(biāo)移到模式對(duì)話框;否則由于Owner窗口被禁止,程序?qū)⑹ナ髽?biāo)輸入。</P>
      <P 
      align=justify>為了處理模式對(duì)話框的消息,Windows開始對(duì)話框自身的消息循環(huán),暫時(shí)控制整個(gè)應(yīng)用程序的消息隊(duì)列。如果Windows收到一個(gè)非對(duì)話框消息時(shí),則它把消息派發(fā)給適當(dāng)?shù)拇翱谔幚恚蝗绻盏搅薟M_QUIT消息,則把該消息放回應(yīng)用程序的消息隊(duì)列里,這樣應(yīng)用程序的主消息循環(huán)最終能處理這個(gè)消息。</P>
      <P 
      align=justify>當(dāng)應(yīng)用程序的消息隊(duì)列為空時(shí),Windows發(fā)送WM_ENTERIDLE消息給Owner窗口。在對(duì)話框運(yùn)行時(shí),程序可以使用這個(gè)消息進(jìn)行后臺(tái)處理,當(dāng)然應(yīng)該注意經(jīng)常讓出控制給模式對(duì)話框,以便它能接收用戶輸入。如果不希望模式對(duì)話框發(fā)送WM_ENTERIDlE消息,則在創(chuàng)建模式對(duì)話框時(shí)指定DS_NOIDLEMSG風(fēng)格。</P>
      <P 
      align=justify>一個(gè)應(yīng)用程序通過(guò)調(diào)用::EndDialog函數(shù)來(lái)銷毀一個(gè)模式對(duì)話框。一般情況下,當(dāng)用戶從系統(tǒng)菜單里選擇了關(guān)閉(Close)命令或者按下了確認(rèn)(OK)或取消(CANCLE)按鈕,::EndDialog被對(duì)話框過(guò)程所調(diào)用。調(diào)用::EndDialog時(shí),指定其參數(shù)nResult的值,Windows將在銷毀對(duì)話框窗口后返回這個(gè)值,一般,程序通過(guò)返回值判斷對(duì)話框窗口是否完成了任務(wù)或者被用戶取消。</P>
      <P align=justify></P>
      <LI><A name=_Toc457299112></A><B>無(wú)模式對(duì)話框</B> 
      <P></P></LI></OL>
    <P 
    align=justify>一個(gè)無(wú)模式對(duì)話框是一個(gè)有系統(tǒng)菜單、標(biāo)題欄、邊線等的彈出式窗口。在創(chuàng)建對(duì)話框模板時(shí)指定WS_POPUP、WS_CAPTION、WS_BORDER和WS_SYSMENU風(fēng)格。如果沒(méi)有指定WS_VISIBLE風(fēng)格,無(wú)模式對(duì)話框不會(huì)自動(dòng)地顯示出來(lái)。</P>
    <P 
    align=justify>一個(gè)無(wú)模式對(duì)話框既不會(huì)禁止所屬窗口,也不會(huì)給它發(fā)送消息。當(dāng)創(chuàng)建一個(gè)模式對(duì)話框時(shí),Windows使它成為活動(dòng)窗口,但用戶或者程序可以隨時(shí)改變和設(shè)置活動(dòng)窗口。如果對(duì)話框失去激活,那么即使所屬窗口是活動(dòng)的,在Z軸順序上,它仍然在所屬窗口之上。</P>
    <P 
    align=justify>應(yīng)用程序負(fù)責(zé)獲取和派發(fā)輸入消息給對(duì)話框。大部分應(yīng)用程序使用主消息循環(huán)來(lái)處理,但是為了用戶可以使用鍵盤在控制窗口之間移動(dòng)或者選擇控制窗口,應(yīng)用程序應(yīng)該調(diào)用::IsDialogMessage函數(shù)。</P>
    <P 
    align=justify>這里,順便解釋::IsDialogMessage函數(shù)。雖然該函數(shù)是為無(wú)模式對(duì)話框設(shè)計(jì)的,但是任何包含了控制子窗口的窗口都可以調(diào)用它,用來(lái)實(shí)現(xiàn)類似于對(duì)話框的鍵盤選擇操作。</P>
    <P align=justify>當(dāng)::IsDialogMessage處理一個(gè)消息時(shí),它檢查鍵盤消息并把它們轉(zhuǎn)換成相應(yīng)對(duì)話框的選擇命令。例如,當(dāng)Tab 
    鍵被壓下時(shí),下一個(gè)或下一組控制被選中,當(dāng)Down Arrow鍵按下后,一組控制中的下一個(gè)控制被選擇。</P>
    <P 
    align=justify>::IsDialogMessage完成了所有必要的消息轉(zhuǎn)換和消息派發(fā),所以該函數(shù)處理的消息一定不要傳遞給TranslateMessage和DispatchMessage處理。</P>
    <P 
    align=justify>一個(gè)無(wú)模式對(duì)話框不能像模式對(duì)話框那樣返回一個(gè)值給應(yīng)用程序。但是對(duì)話框過(guò)程可以使用::SendMessage給所屬窗口傳遞信息。</P>
    <P 
    align=justify>在應(yīng)用程序結(jié)束之前,它必須銷毀所有的無(wú)模式對(duì)話框。使用::DestroyWindow銷毀一個(gè)無(wú)模式對(duì)話框,不是使用::EndDiaLog。一般來(lái)說(shuō),對(duì)話框過(guò)程響應(yīng)用戶輸入,如用戶選擇了“取消”按鈕,則調(diào)用::DestroyWindow;如果用戶沒(méi)有有關(guān)動(dòng)作,則應(yīng)用程序必須調(diào)用::DestroyWindow。</P>
    <P align=justify></P>
    <LI><A name=_Toc452640999></A><A name=_Toc457299113></A><B>對(duì)話框的MFC實(shí)現(xiàn)</B> 
    <P></P>
    <P align=justify>在MFC中,對(duì)話框窗口的功能主要由CWnd和CDialog兩個(gè)類實(shí)現(xiàn)。</P>
    <OL>
      <P align=justify>
      <LI><A name=_Toc452641000></A><A 
      name=_Toc457299114></A><B>CDialog的設(shè)計(jì)和實(shí)現(xiàn)</B> 
      <P></P>
      <P 
      align=justify>MFC通過(guò)CDialog來(lái)封裝對(duì)話框的功能。CDialog從CWnd繼承了窗口類的功能(包括CWnd實(shí)現(xiàn)的有關(guān)功能),并添加了新的成員變量和函數(shù)來(lái)處理對(duì)話框。</P>
      <OL>
        <P align=justify>
        <LI><A name=_Toc457299115></A><B>CDialog的成員變量</B> 
        <P></P>
        <P align=justify>CDialog的成員變量有:</P>
        <P align=justify>protected:</P>
        <P align=justify>UINT m_nIDHelp; // Help ID (0 for none, see 
        HID_BASE_RESOURCE)</P>
        <P align=justify></P>
        <P align=justify>LPCTSTR m_lpszTemplateName; // name or 
        MAKEINTRESOURCE</P>
        <P align=justify>HGLOBAL m_hDialogTemplate; // indirect 
        (m_lpDialogTemplate == NULL)</P>
        <P align=justify>// indirect if (m_lpszTemplateName == NULL)</P>
        <P align=justify>LPCDLGTEMPLATE m_lpDialogTemplate;</P>
        <P align=justify>void* m_lpDialogInit; // DLGINIT resource data</P>
        <P align=justify>CWnd* m_pParentWnd; // parent/owner window</P>
        <P align=justify>HWND m_hWndTop; // top level parent window (may be 
        disabled)</P>
        <P 
        align=justify>成員變量保存了創(chuàng)建對(duì)話框的模板資源、對(duì)話框父窗口對(duì)象、頂層窗口句柄等信息。三個(gè)關(guān)于模板資源的成員變量m_lpszTemplateName、m_hDialogTemplate、m_lpDialogTemplate對(duì)應(yīng)了三種模板資源,但在創(chuàng)建對(duì)話框時(shí),只要一個(gè)模板資源就可以了,可以使用其中的任意一類。</P>
        <P align=justify></P>
        <LI><A name=_Toc457299116></A><B>CDialog的成員函數(shù):</B> 
        <P></P></LI></OL></LI></OL></LI></OL></LI></OL>
<OL>
  <P align=justify>
  <LI>構(gòu)造函數(shù): 
  <P></P>
  <P align=justify>CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL 
  );</P>
  <P align=justify>CDialog( UINT nIDTemplate, CWnd* pParentWnd = NULL );</P>
  <P align=justify>CDialog( );</P>
  <P 
  align=justify>CDialog重載了三個(gè)構(gòu)造函數(shù)。其中,第三個(gè)是缺省構(gòu)造函數(shù);第一個(gè)和第二個(gè)構(gòu)造函數(shù)從指定的對(duì)話框模板資源創(chuàng)建,pParentWnd指定了父窗口或所屬窗口,若空則設(shè)置父窗口為應(yīng)用程序主窗口。</P>
  <P align=justify></P>
  <LI>初始化函數(shù) 
  <P></P>
  <P align=justify>BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = 
  NULL );</P>
  <P align=justify>BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );</P>
  <P align=justify>BOOL CreateIndirect( LPCDLGTEMPLATE lpDialogTemplate, CWnd* 
  pParentWnd = NULL );</P>
  <P align=justify>BOOL CreateIndirect( HGLOBAL hDialogTemplate, CWnd* 
  pParentWnd = NULL );</P>
  <P align=justify>BOOL InitModalIndirect( LPCDLGTEMPLATE lpDialogTemplate, 
  CWnd* pParentWnd = NULL );</P>
  <P align=justify>BOOL InitModalIndirect( HGLOBAL hDialogTemplate, CWnd* 
  pParentWnd = NULL );</P>
  <P>Create用來(lái)根據(jù)模板創(chuàng)建無(wú)模式對(duì)話框;CreateInDirect用來(lái)根據(jù)內(nèi)存中的模板創(chuàng)建無(wú)模式對(duì)話框;InitModalIndirect用來(lái)根據(jù)內(nèi)存中的模板創(chuàng)建模式對(duì)話框。它們都提供了兩個(gè)重載版本。</P>
  <P align=justify></P>
  <LI>對(duì)話框操作函數(shù) 
  <P></P>
  <P align=justify>void MapDialogRect( LPRECT lpRect ) const;</P>
  <P align=justify>void NextDlgCtrl( ) const;</P>
  <P align=justify>void PrevDlgCtrl( ) const;</P>
  <P align=justify>void GotoDlgCtrl( CWnd* pWndCtrl );</P>
  <P align=justify>void SetDefID( UINT nID );</P>
  <P align=justify>void SetHelpID( UINT nIDR );</P>
  <P align=justify>void EndDialog( int nResult );</P>
  <P align=justify></P>
  <LI>虛擬函數(shù) 
  <P></P></LI></OL>
<P align=justify>virtual int DoModal( );</P>
<P align=justify>virtual BOOL OnInitDialog( );</P>
<P align=justify>virtual void OnSetFont( CFont* pFont );</P>
<P align=justify>virtual void OnOK( );</P>
<P align=justify>virtual void OnCancel( );</P>
<OL>
  <OL>
    <OL>
      <P align=justify>
      <LI><A name=_Toc452641001></A><A name=_Toc457299117></A><B>MFC模式對(duì)話框的實(shí)現(xiàn)</B> 

      <P></P>
      <P>從前面的介紹可以知道,Win32 
      SDK編程下的模式對(duì)話框使用了Windows提供給對(duì)話框窗口的窗口過(guò)程和自己的對(duì)話框過(guò)程,對(duì)話框過(guò)程將被窗口過(guò)程調(diào)用。但在MFC下,所有的窗口類都使用了同一個(gè)窗口過(guò)程,CDialog也不例外。CDialog對(duì)象在創(chuàng)建Windows對(duì)話框時(shí),采用了類似于CWnd的創(chuàng)建函數(shù)過(guò)程,采用子類化的手段將Windows提供給對(duì)話框的窗口過(guò)程取代為AfxWndProc或者AfxBaseWndProc,同時(shí)提供了對(duì)話框過(guò)程AfxDlgProc。那么,這些“過(guò)程”是如何實(shí)現(xiàn)或者協(xié)調(diào)的呢?下文將予以分析。</P>
      <OL>
        <P align=justify>
        <LI><A name=_Toc457299118></A><B>MFC對(duì)話框過(guò)程</B> 
        <P></P>
        <P>MFC對(duì)話框過(guò)程AfxDlgProc的原型和實(shí)現(xiàn)如下:</P>
        <P align=justify>BOOL CALLBACK AfxDlgProc(HWND hWnd,</P>
        <P align=justify>UINT message, PARAM, LPARAM)</P>
        <P align=justify>{</P>
        <P align=justify>if (message == WM_INITDIALOG)</P>
        <P align=justify>{</P>
        <P align=justify>//處理WM_INITDIALOG消息</P>
        <P align=justify>CDialog* pDlg = DYNAMIC_DOWNCAST(CDialog, </P>
        <P align=justify>CWnd::FromHandlePermanent(hWnd));</P>
        <P align=justify>if (pDlg != NULL)</P>
        <P align=justify>return pDlg-&gt;OnInitDialog();</P>
        <P align=justify>else</P>
        <P align=justify>return 1;</P>
        <P align=justify>}</P>
        <P align=justify>return 0;</P>
        <P align=justify>}</P>
        <P>由上可以看出,MFC的對(duì)話框函數(shù)AfxDlgProc僅處理消息WM_INITDIALOG,其他都留給對(duì)話框窗口過(guò)程處理。因此,它不同于SDK編程的對(duì)話框過(guò)程。程序員在SDK的對(duì)話框過(guò)程處理消息和事件,實(shí)現(xiàn)自己的對(duì)話框功能。</P>
        <P>AfxDlgProc處理WM_INITDIALOG消息時(shí)調(diào)用虛擬函數(shù)OnInitDialog,給程序員一個(gè)機(jī)會(huì)處理對(duì)話框的初始化。</P>
        <P align=justify></P>
        <LI><A name=_Toc457299119></A><B>模式對(duì)話框窗口過(guò)程</B> 
        <P></P>
        <P>本小節(jié)討論對(duì)話框的窗口過(guò)程。</P>
        <P>AfxWndProc是所有的MFC窗口類使用的窗口過(guò)程,它取代了模式對(duì)話框原來(lái)的窗口過(guò)程(Windows提供),那么,MFC如何完成Win32下對(duì)話框窗口的功能呢?</P>
        <P>考查模式對(duì)話框的創(chuàng)建過(guò)程。CDialog::DoModal用來(lái)創(chuàng)建模式對(duì)話框窗口并執(zhí)行有關(guān)任務(wù),和DoModal相關(guān)的是MFC內(nèi)部使用的成員函數(shù)CDialog::PreModal和CDialog::PostModal。下面分別討論它們的實(shí)現(xiàn)。</P>
        <P align=justify>HWND CDialog::PreModal()</P>
        <P align=justify>{</P>
        <P align=justify>// cannot call DoModal on a dialog already constructed 
        as modeless</P>
        <P align=justify>ASSERT(m_hWnd == NULL);</P>
        <P align=justify></P>
        <P align=justify>// allow OLE servers to disable themselves</P>
        <P align=justify>AfxGetApp()-&gt;EnableModeless(FALSE);</P>
        <P align=justify></P>
        <P align=justify>// 得到父窗口</P>
        <P align=justify>CWnd* pWnd = CWnd::GetSafeOwner(m_pParentWnd, 
        &amp;m_hWndTop);</P>
        <P align=justify></P>
        <P align=justify>// 如同CWnd處理其他窗口的創(chuàng)建,設(shè)置一個(gè)窗口創(chuàng)建HOOK</P>
        <P align=justify>AfxHookWindowCreate(this);</P>
        <P align=justify></P>
        <P align=justify>//返回父窗口的句柄</P>
        <P align=justify>return pWnd-&gt;GetSafeHwnd();</P>
        <P align=justify>}</P>
        <P align=justify></P>
        <P align=justify>void CDialog::PostModal()</P>
        <P align=justify>{</P>
        <P align=justify>//取消窗口創(chuàng)建前鏈接的HOOK</P>
        <P align=justify>AfxUnhookWindowCreate(); // just in case</P>
        <P align=justify>//MFC對(duì)話框?qū)ο蠛蛯?duì)應(yīng)的Windows對(duì)話框窗口分離</P>
        <P align=justify>Detach(); // just in case</P>
        <P align=justify></P>
        <P align=justify>// m_hWndTop是當(dāng)前對(duì)話框的父窗口或所屬窗口,則恢復(fù)它</P>
        <P align=justify>if (::IsWindow(m_hWndTop))</P>
        <P align=justify>::EnableWindow(m_hWndTop, TRUE);</P>
        <P align=justify>m_hWndTop = NULL;</P>
        <P align=justify></P>
        <P align=justify>AfxGetApp()-&gt;EnableModeless(TRUE);</P>
        <P align=justify>}</P>
        <P align=justify></P>
        <P align=justify>int CDialog::DoModal()</P>
        <P align=justify>{</P>
        <P align=justify>// can be constructed with a resource template or 
        InitModalIndirect</P>
        <P align=justify>ASSERT(m_lpszTemplateName != NULL ||</P>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区美女| 国产精品毛片大码女人| 国产成人99久久亚洲综合精品| 综合色中文字幕| 欧美大片一区二区| 在线免费观看一区| 国产麻豆日韩欧美久久| 亚洲成a人v欧美综合天堂下载| 国产精品美女久久久久高潮| 91精品国产综合久久婷婷香蕉| 99国产精品久| 国产成人免费9x9x人网站视频| 亚洲成人精品一区| 亚洲日本青草视频在线怡红院| 久久精品视频一区| 日韩欧美你懂的| 欧美又粗又大又爽| 99精品国产视频| 国产激情精品久久久第一区二区 | 午夜欧美电影在线观看| 日本一二三四高清不卡| 精品国产一区二区三区av性色| 欧美日韩高清在线播放| 色呦呦日韩精品| 成人性生交大片免费看中文网站| 青青草视频一区| 日韩成人午夜电影| 亚洲一区二区免费视频| 亚洲中国最大av网站| 亚洲精选一二三| 国产精品久久久久久亚洲伦 | 欧美精品视频www在线观看| 日韩成人av影视| 色88888久久久久久影院按摩 | 久久久精品蜜桃| 欧美一区二区视频在线观看2020| 欧美图区在线视频| 在线观看视频一区二区欧美日韩| 91在线无精精品入口| av网站免费线看精品| 成人深夜福利app| 99麻豆久久久国产精品免费优播| 成人激情视频网站| 成人精品视频一区二区三区 | 国产欧美日韩精品一区| 久久亚洲精品小早川怜子| 精品国产免费人成电影在线观看四季 | 中文字幕中文字幕在线一区 | 欧美国产1区2区| 国产精品午夜在线| 国产精品理论片在线观看| 日韩一区有码在线| 亚洲欧美一区二区不卡| 洋洋成人永久网站入口| 亚洲自拍欧美精品| 日韩精品久久久久久| 日韩美女视频19| 国产午夜精品一区二区三区视频 | 亚洲福利一区二区三区| 亚洲h在线观看| 免费在线欧美视频| 狠狠色丁香久久婷婷综合_中 | av资源网一区| 欧美伊人久久久久久午夜久久久久| 欧美性极品少妇| 欧美一区二区黄| 国产日韩av一区| 亚洲欧美色图小说| 亚洲va天堂va国产va久| 麻豆视频观看网址久久| 国产传媒久久文化传媒| 色婷婷久久久亚洲一区二区三区| 欧美日韩一区二区三区免费看| 91精品国模一区二区三区| 久久亚洲精品国产精品紫薇| 亚洲私人影院在线观看| 无码av免费一区二区三区试看| 免费成人美女在线观看.| 成人性生交大片免费看在线播放| 色综合久久久久综合体| 欧美一区二区三区视频| 国产日韩欧美不卡在线| 亚洲国产精品久久不卡毛片| 九九久久精品视频| 97精品国产97久久久久久久久久久久| 欧美猛男男办公室激情| 国产精品网站在线播放| 日韩电影一区二区三区| 成人教育av在线| 欧美电影免费观看完整版| 亚洲国产精品ⅴa在线观看| 亚洲五码中文字幕| 国产999精品久久久久久| 99综合电影在线视频| 国产欧美日韩一区二区三区在线观看| 91影院在线观看| 精品日韩欧美在线| 亚洲综合无码一区二区| 国产精品99久| 欧美一级黄色片| 亚洲色图在线看| 国产精品自拍网站| 欧美精品v国产精品v日韩精品| 国产精品你懂的在线| 蜜桃av一区二区三区电影| av综合在线播放| 国产婷婷色一区二区三区四区| 五月激情综合婷婷| 在线观看视频一区二区| 中文字幕欧美区| 狠狠色综合播放一区二区| 欧美人妖巨大在线| 日韩理论片一区二区| 成人理论电影网| 精品福利视频一区二区三区| 肉肉av福利一精品导航| 欧洲中文字幕精品| 亚洲色欲色欲www| 成人免费视频播放| 久久久精品人体av艺术| 激情综合色丁香一区二区| 欧美日韩国产欧美日美国产精品| 国产精品网友自拍| 丁香婷婷深情五月亚洲| 精品国产乱码久久久久久闺蜜| 婷婷六月综合亚洲| 欧美久久久久久蜜桃| 亚洲精品久久久蜜桃| 99久久精品免费精品国产| 国产人成一区二区三区影院| 精彩视频一区二区三区| 91精品国产色综合久久久蜜香臀| 亚洲午夜久久久久中文字幕久| 色综合色综合色综合色综合色综合| 中文字幕的久久| 成人国产在线观看| 国产精品二三区| 91丨porny丨最新| 亚洲欧美区自拍先锋| 色综合视频在线观看| 亚洲一区二区三区免费视频| 日本韩国欧美一区二区三区| 亚洲精品五月天| 欧美性高清videossexo| 水蜜桃久久夜色精品一区的特点| 欧美日韩国产一级片| 免费久久精品视频| 欧美精品一区二区三区蜜桃| 国产成人av电影在线观看| 国产精品视频在线看| 色综合久久中文字幕| 亚洲国产日韩精品| 337p亚洲精品色噜噜噜| 久久91精品久久久久久秒播| 精品国产一区二区三区av性色 | 色噜噜狠狠成人中文综合| 一区二区三区在线不卡| 欧美日韩高清在线播放| 美女视频第一区二区三区免费观看网站| 日韩欧美国产综合在线一区二区三区| 毛片一区二区三区| 欧美日本视频在线| 欧美日韩在线三级| 婷婷激情综合网| 欧美不卡一二三| 成人一区二区三区视频在线观看| 亚洲精品国产视频| 欧美一区二区三区在线| 国产精选一区二区三区| 成人免费在线播放视频| 欧美日韩精品免费| 国产一区二区三区免费观看| 最新国产成人在线观看| 欧美日韩亚洲综合一区二区三区| 蜜桃一区二区三区在线观看| 国产亚洲精久久久久久| 在线亚洲免费视频| 精品一区二区三区av| 国产精品电影一区二区| 制服丝袜亚洲播放| 成人aa视频在线观看| 午夜精品视频在线观看| 久久精品一区八戒影视| 日本福利一区二区| 激情综合亚洲精品| 亚洲高清免费在线| 国产视频一区不卡| 欧美精品第1页| av激情综合网| 韩国毛片一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 欧美精品久久一区| 91亚洲精品乱码久久久久久蜜桃| 免费欧美高清视频| 亚洲黄网站在线观看| 国产三级一区二区三区| 欧美精品一卡两卡| 97久久精品人人做人人爽| 激情综合五月婷婷| 丝瓜av网站精品一区二区|