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

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

?? wtl for mfc programmers, part vii - splitter windows - wtl.htm

?? WT教程中文版 內(nèi)有詳細的介紹 包括各個方面
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html>
<head>
<title>WTL for MFC Programmers, Part VII - Splitter Windows</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#33CCCC" text="#000000">
<p align="center"><b><font style="FONT-SIZE: 16pt" size="4" color="#0033CC">WTL for MFC Programmers, Part VII - Splitter Windows</font></b><br>
  <br>
</p>
<p align="left">原作 :<b><font color="#CC3366">Michael Dunn</font></b> [<a href="http://www.codeproject.com/wtl/WTL4MFC7.asp">英文原文</a>]<br>
  翻譯 :<a href="mailto:inte2000@163.com">Orbit(桔皮干了)</a> [<a href="http://www.winmsg.com/cn/orbit.htm">http://www.winmsg.com/cn/orbit.htm</a>]</p>
<p align="left"><a href="demo/WTL4MFC7_demo.zip">下載演示程序代碼</a></p>
 
<H2><font color="#FFFF66">本章內(nèi)容</font></H2>
<UL>
        <LI><A href="#intro">介紹</A> 
        <LI><A href="#wtlsplitters">WTL 的分隔窗口</A> 
        <UL>
          <LI><A href="#splitclasses">相關(guān)的類</A> 
          <LI><A href="#creatingsplitter">創(chuàng)建分隔窗口</A> 
          <LI><A href="#splittermethods">基本的方法</A> 
          <LI><A href="#splitdata">數(shù)據(jù)成員</A> </LI></UL>
        <LI><A href="#startsample">開始一個例子工程</A> 
        <LI><A href="#creatingpanes">創(chuàng)建一個窗格內(nèi)的窗口</A> 
        <LI><A href="#messagerouting">消息處理</A> 
        <LI><A href="#panecont">窗格容器</A> 
        <UL>
          <LI><A href="#pcclasses">相關(guān)的類</A> 
          <LI><A href="#pcmethods">基本方法</A> 
          <LI><A href="#pcinsplitter">在分隔窗口中使用窗格容器</A> 
          <LI><A href="#pcclosebtn">關(guān)閉按鈕和消息處理</A> </LI></UL>
        <LI><A href="#advancedsplitter">高級功能</A> 
        <UL>
          <LI><A href="#nested">嵌套的分隔窗口</A> 
          <LI><A href="#axinpane">在窗格中使用ActiveX控件</A> 
          <LI><A href="#specialdraw">特殊繪制</A> </LI></UL>
        <LI><A href="#pcoverrides">窗格容器內(nèi)的特殊繪制</A> 
        <LI><A href="#bonus">在狀態(tài)欄顯示進度條</A> 
        <LI><A href="#upnext">繼續(xù)</A> 
        <LI><A href="#references">參考</A> 
        <LI><A href="#revisionhistory">修改記錄</A> </LI></UL>

<H2><A name=intro></A><font color="#FFFF66">介紹</font></H2>
      
<P>隨著使用兩個分隔的視圖管理文件系統(tǒng)的資源管理器在Windows 95中第一次出現(xiàn),分隔窗口逐漸成為一種流行的界面元素。MFC也有一個復(fù)雜的功能強大的分隔窗口類,但是要掌握它的用法確實有點難,并且它和文檔/視圖框架聯(lián)系緊密。在第七章我將介紹WTL的分隔窗口,它比MFC的分隔窗口要簡單一些。WTL的分隔窗口沒有MFC那么多特性,但是易于使用和擴展。</P>
<p>本章的例子工程是用WTL重寫的<a href="http://www.codeproject.com/clipboard/clipspy.asp">ClipSpy</a>,如果你對這個程序不太熟悉,現(xiàn)在可以快速瀏覽一下本章內(nèi)容,因為我只是復(fù)制了ClipSpy的功能而沒用深入的解釋它是如何工作的,畢竟這篇文章的重點是分隔窗口,不是剪貼板。</p>
<H2><A name=wtlsplitters></A><font color="#FFFF66">WTL 的分隔窗口</font></H2>
      
<P>頭文件atlsplit.h含有所有WTL的分隔窗口類,一共有三個類:CSplitterImpl,CSplitterWindowImpl和CSplitterWindowT,不過你通常只會用到其中的一個。下面將介紹這些類和它們的基本方法。</P>
      
<H3><A name=splitclasses></A><font color="#FFFF66">相關(guān)的類</font></H3>
      
<P>CSplitterImpl是一個有兩個參數(shù)的模板類,一個是窗口界面類的類名,另一個是布爾型變量表示分隔窗口的方向:true表示垂直方向,false表示水平方向。CSplitterImpl類包含了幾乎所有分隔窗口的實現(xiàn)代碼,它的許多方法是可重載的,重載這些方法可以自己繪制分隔條的外觀或者實現(xiàn)其它的效果。CSplitterWindowImpl類是從CWindowImpl和CSplitterImpl兩個類派生出來的,但是它的代碼不多,有一個空的WM_ERASEBKGND消息處理函數(shù)和一個WM_SIZE處理函數(shù)用于重新定位分隔窗口。</P>
<p>最后一個是CSplitterWindowT類,它從CSplitterImpl類派生,它的窗口類名是“WTL_SplitterWindow”。還有兩個自定義數(shù)據(jù)類型通常用來取代上面的三個類:CSplitterWindow用于垂直分隔窗口,CHorSplitterWindow用于水平分隔窗口。</p>
<H3><A name=creatingsplitter></A><font color="#FFFF66">創(chuàng)建分割窗口</font></H3>
      
<P>由于CSplitterWindow是從CWindowImpl類派生的,所以你可以像創(chuàng)建其他子窗口那樣創(chuàng)建分隔窗口。分隔窗口將存在于整個主框架窗口的生命周期,應(yīng)該在CMainFrame類添加一個CSplitterWindow類型的變量。在CMainFrame::OnCreate()函數(shù)內(nèi),你可以將分隔窗口作為主窗口的子窗口創(chuàng)建,然后將其設(shè)置為主窗口的客戶區(qū)窗口:</P>
<PRE><font color="#0033FF">LRESULT CMainFrame::OnCreate ( LPCREATESTRUCT lpcs )
{
<SPAN class=cpp-comment>// ...</SPAN>
<SPAN class=cpp-keyword>const</SPAN> DWORD dwSplitStyle = WS_CHILD | WS_VISIBLE | 
                             WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
            dwSplitExStyle = WS_EX_CLIENTEDGE;
 
    m_wndSplit.Create ( *<SPAN class=cpp-keyword>this</SPAN>, rcDefault, NULL, 
                        dwSplitStyle, dwSplitExStyle );
 
    m_hWndClient = m_wndSplit;
}</font></PRE>
      
<P>創(chuàng)建分隔窗口之后,你就可以為每個窗格指定窗口或者做其他必要的初始化工作。</P>
      
<H3><A name=splittermethods></A><font color="#FFFF66">基本方法</font></H3>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> SetSplitterPos(<SPAN class=cpp-keyword>int</SPAN> xyPos = -<SPAN class=cpp-literal>1</SPAN>, <SPAN class=cpp-keyword>bool</SPAN> bUpdate = <SPAN class=cpp-keyword>true</SPAN>)
<SPAN class=cpp-keyword>int</SPAN> GetSplitterPos()</font></PRE>
      
<P>可以調(diào)用SetSplitterPos()函數(shù)設(shè)置分隔條的位置,這個位置表示分割條距離分隔窗口的上邊界(水平分隔窗口)或左邊界(垂直分隔窗口)有多少個象素點。你可以使用默認值-1將分隔條設(shè)置到分隔窗口的中間,使兩個窗格大小相同,通常傳遞true給bUpdate參數(shù)表示在移動分隔條之后相應(yīng)的改變兩個窗格的大小。GetSplitterPos()返回當前分隔條的位置,這個位置也是相對于分隔窗口的上邊界或左邊界。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> SetSinglePaneMode(<SPAN class=cpp-keyword>int</SPAN> nPane = SPLIT_PANE_NONE)
<SPAN class=cpp-keyword>int</SPAN> GetSinglePaneMode()</font></PRE>
      
<P>調(diào)用SetSinglePaneMode()函數(shù)可以改變分隔窗口的模式使單窗格模式還是雙窗格模式,在單窗格模式下,只有一個窗格使可見的并且隱藏了分隔條,這和MFC的動態(tài)分隔窗口相似(只是沒有那個小鉗子形狀的手柄,它用于重新分隔分隔窗口)。對于nPane參數(shù)可用的值是SPLIT_PANE_LEFT,SPLIT_PANE_RIGHT,SPLIT_PANE_TOP,SPLIT_PANE_BOTTOM,和SPLIT_PANE_NONE,前四個指示顯示那個窗格(例如,使用SPLIT_PANE_LEFT參數(shù)將顯示左邊的窗格,隱藏右邊的窗格),使用SPLIT_PANE_NONE表示兩個窗格都顯示。GetSinglePaneMode()返回五個SPLIT_PANE_*值中的一個表示當前的模式。</P>
<PRE><font color="#0033FF">DWORD SetSplitterExtendedStyle(DWORD dwExtendedStyle, DWORD dwMask = <SPAN class=cpp-literal>0</SPAN>)
DWORD GetSplitterExtendedStyle()</font></PRE>
      
<P>分隔窗口有自己的樣式用于控制當整個分隔窗口改變大小時如何移動分隔條。有以下幾種樣式:</P>
      
<UL>
  <LI>SPLIT_PROPORTIONAL: 兩個窗格一起改變大小
  <LI>SPLIT_RIGHTALIGNED: 右邊的窗格保持大小不變,只改變左邊的窗格大小
  <LI>SPLIT_BOTTOMALIGNED: 下部的窗格保持大小不變,只改變上邊的窗格大小</LI>
</UL>
      
<P>如果既沒有指定SPLIT_PROPORTIONAL,也沒有指定SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED,則分隔窗口會變成左對齊或上對齊。如果將SPLIT_PROPORTIONAL和SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED一起使用,則優(yōu)先選用SPLIT_PROPORTIONAL樣式。</P>
<p>還有一個附加的樣式用來控制分隔條是否可以被用戶移動:</p>
<UL>
  <LI>SPLIT_NONINTERACTIVE:分隔條不能被移動并且不相應(yīng)鼠標</LI>
</UL>
      
<P>擴展樣式的默認值是 SPLIT_PROPORTIONAL。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> SetSplitterPane(<SPAN class=cpp-keyword>int</SPAN> nPane, HWND hWnd, <SPAN class=cpp-keyword>bool</SPAN> bUpdate = <SPAN class=cpp-keyword>true</SPAN>)
<SPAN class=cpp-keyword>void</SPAN> SetSplitterPanes(HWND hWndLeftTop, HWND hWndRightBottom, <SPAN class=cpp-keyword>bool</SPAN> bUpdate = <SPAN class=cpp-keyword>true</SPAN>)
HWND GetSplitterPane(<SPAN class=cpp-keyword>int</SPAN> nPane)</font></PRE>
      
<P>可以調(diào)用SetSplitterPane()為分隔窗口的窗格指派子窗口,nPane是一個SPLIT_PANE_*類型的值,表示設(shè)置拿一個窗格。hWnd是子窗口的窗口句柄。你可以使用SetSplitterPane()將一個子窗口同時指定給兩個窗格,對于bUpdate參數(shù)通常使用默認值,也就是告訴分隔窗口立即調(diào)整子窗口的大小以適應(yīng)窗格的大小。可以調(diào)用GetSplitterPane()得到某個窗格的子窗口句柄,如果窗格沒有指派子窗口則GetSplitterPane()返回NULL。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> SetActivePane(<SPAN class=cpp-keyword>int</SPAN> nPane)
<SPAN class=cpp-keyword>int</SPAN> GetActivePane()</font></PRE>
      
<P>SetActivePane()函數(shù)將分隔窗口中的某個子窗口設(shè)置為當前焦點窗口,nPane是SPLIT_PANE_*類型的值,表示需要激活哪個窗格,這個函數(shù)還可以設(shè)置默認的活動窗格(后面介紹)。GetActivePane()函數(shù)查看所有擁有焦點的窗口,如果擁有焦點的窗口是窗格或窗格的子窗口就返回一個SPLIT_PANE_*類型的值,表示是哪個窗格。如果當前擁有焦點的窗口不是窗格的子窗口,那么GetActivePane()返回SPLIT_PANE_NONE。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> ActivateNextPane(<SPAN class=cpp-keyword>bool</SPAN> bNext = <SPAN class=cpp-keyword>true</SPAN>)</font></PRE>
<P>如果分隔窗口是單窗格模式,焦點被設(shè)到可見的窗格上,否則的話,ActivateNextPane()函數(shù)將調(diào)用GetActivePane()查看擁有焦點的窗口。如果一個窗格(或窗格內(nèi)的子窗口)擁有檢點,分隔窗口就將焦點設(shè)給另一個窗格,否則ActivateNextPane()將判斷bNext的值,如果是true就激活left/top窗格,如果是false則激活right/bottom窗格。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">bool</font></SPAN><font color="#0033FF"> SetDefaultActivePane(<SPAN class=cpp-keyword>int</SPAN> nPane)
<SPAN class=cpp-keyword>bool</SPAN> SetDefaultActivePane(HWND hWnd)
<SPAN class=cpp-keyword>int</SPAN> GetDefaultActivePane()</font></PRE>
<P>調(diào)用SetDefaultActivePane()函數(shù)可以設(shè)置默認的活動窗格,它的參數(shù)可以是SPLIT_PANE_*類型的值,也可以是窗口的句柄。如果分隔窗口自身得到的焦點,可以通過調(diào)用SetFocus()將焦點轉(zhuǎn)移給默認窗格。GetDefaultActivePane()函數(shù)返回SPLIT_PANE_*類型的值表示哪個窗格是當前默認的活動窗格。</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">void</font></SPAN><font color="#0033FF"> GetSystemSettings(<SPAN class=cpp-keyword>bool</SPAN> bUpdate)</font></PRE>
      
<P>GetSystemSettings()讀取系統(tǒng)設(shè)置并相應(yīng)的設(shè)置數(shù)據(jù)成員。分隔窗口在OnCreate()函數(shù)中自動調(diào)用這個函數(shù),你不需要自己調(diào)用這個函數(shù)。當然,你的主框架窗口應(yīng)該響應(yīng)WM_SETTINGCHANGE并將它傳遞給分隔窗口, 
  CSplitterWindow在WM_SETTINGCHANGE消息的處理函數(shù)中調(diào)用GetSystemSettings()。傳遞true給bUpdate參數(shù),分隔窗口會根據(jù)新的設(shè)置重畫自己。</P>
      
<H3><A name=splitdata></A><font color="#FFFF66">數(shù)據(jù)成員</font></H3>
      
<P>其他的一些特性可以通過直接訪問CSplitterWindow的公有成員來設(shè)定,只要GetSystemSettings()被調(diào)用了,這些公有成員也會相應(yīng)的被重置。</P>
      
<P>m_cxySplitBar:控制分隔條的寬度(垂直分隔條)和高度(水平分隔條)。默認值是通過調(diào)用GetSystemMetrics(SM_CXSIZEFRAME)(垂直分隔條)或GetSystemMetrics(SM_CYSIZEFRAME)(水平分隔條)得到的。</P>
      
<P>m_cxyMin:控制每個窗格的最小寬度(垂直分隔)和最小高度(水平分隔),分隔窗口不允許拖動比這更小的寬度或高度。如果分隔窗口有WS_EX_CLIENTEDGE擴展屬性,則這個變量的默認值是0,否則其默認值是2*GetSystemMetrics(SM_CXEDGE)(垂直分隔)或2*GetSystemMetrics(SM_CYEDGE)(水平分隔)。</P>
<p>m_cxyBarEdge:控制畫在分隔條兩側(cè)的3D邊界的寬度(垂直分隔)或高度(水平分隔),其默認值剛好和m_cxyMin相反。</p>
<p>m_bFullDrag:如果是true,當分隔條被拖動時窗格大小跟著調(diào)整,如果是false,拖動時只顯示一個分隔條的影子,直到拖動停止才調(diào)整窗格的大小。默認值是調(diào)用SystemParametersInfo(SPI_GETDRAGFULLWINDOWS)函數(shù)的返回值。</p>
<H2><A name=startsample></A><font color="#FFFF66">開始一個例子工程</font></H2>
      
<P>既然我們已經(jīng)對分隔窗口有了基本的了解,我們就來看看如何創(chuàng)建一個包含分隔窗口的框架窗口。使用WTL向?qū)ч_始一個新工程,在第一頁選擇SDI Application并單擊Next,在第二頁,如下圖所示取消工具條并選擇不使用視圖窗口:</P>
      
<P><IMG height=387 alt=" [AppWizard pg 2 - 22K] " 
      src="images/appwiz7.png" 
      width=477 align=bottom border=0></P>
      
<P>我們不使用分隔窗口是因為分隔窗口和它的窗格將作為“視圖窗口”,在CMainFrame類中添加一個CSplitterWindow類型的數(shù)據(jù)成員:</P>
<PRE><SPAN class=cpp-keyword><font color="#0033FF">class</font></SPAN><font color="#0033FF"> CMainFrame : <SPAN class=cpp-keyword>public</SPAN> ...
{
<SPAN class=cpp-comment>//...</SPAN>
<SPAN class=cpp-keyword>protected</SPAN>:
    CSplitterWindow  m_wndVertSplit;
};</font></PRE>
      
<P>接著在OnCreate()中創(chuàng)建分隔窗口并將其設(shè)為視圖窗口:</P>
<PRE><font color="#0033FF">LRESULT CMainFrame::OnCreate ( LPCREATESTRUCT lpcs )
{
<SPAN class=cpp-comment>//...</SPAN>
    <SPAN class=cpp-comment>// Create the splitter window</SPAN>
<SPAN class=cpp-keyword>const</SPAN> DWORD dwSplitStyle = WS_CHILD | WS_VISIBLE |
                           WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
            dwSplitExStyle = WS_EX_CLIENTEDGE;
 
    m_wndVertSplit.Create ( *<SPAN class=cpp-keyword>this</SPAN>, rcDefault, NULL,
                            dwSplitStyle, dwSplitExStyle );
 
    <SPAN class=cpp-comment>// Set the splitter as the client area window, and resize</SPAN>
    <SPAN class=cpp-comment>// the splitter to match the frame size.</SPAN>
    m_hWndClient = m_wndVertSplit;
    UpdateLayout();
 
    <SPAN class=cpp-comment>// Position the splitter bar.</SPAN>
    m_wndVertSplit.SetSplitterPos ( <SPAN class=cpp-literal>200</SPAN> );
 
    <SPAN class=cpp-keyword>return</SPAN> <SPAN class=cpp-literal>0</SPAN>;
}</font></PRE>
      
<P>需要注意的是在設(shè)置分隔窗口的位置之前要先設(shè)置m_hWndClient并調(diào)用CFrameWindowImpl::UpdateLayout()函數(shù),UpdateLayout()將分隔窗口設(shè)置為初始時的大小。如果跳過這一步,分隔窗口的大小將不確定,可能小于200個象素點的寬度,最終導(dǎo)致SetSplitterPos()出現(xiàn)意想不到的結(jié)果。還有一種不調(diào)用UpdateLayout()函數(shù)的方,就是先得到框架窗口的客戶區(qū)坐標,然后使用這個客戶區(qū)坐標替換rcDefault坐標創(chuàng)建分隔窗口。使用這種方式創(chuàng)建的分隔窗口一開始就在正確的初始位置上,隨后對位置調(diào)整的函數(shù)(例如 
  SetSplitterPos())都可以正常工作。</P>
      
<P>現(xiàn)在運行我們的程序就可以看到分隔條,即使沒有創(chuàng)建任何窗格窗口它仍具有基本的行為。你可以拖動分隔條,用鼠標雙擊分隔條使其移到窗口的中間位置。</P>
      
<P><img height=255 alt=" [Empty splitter - 4K] " 
      src="images/emptysplit7.png" 
      width=329 align=bottom border=0></P>
      
<P>為了演示分隔窗口的不同使用方法,我將使用一個CListViewCtrl派生類和一個簡單的CRichEditCtrl,下面是從CClipSpyListCtrl類摘錄的代碼,我們在左邊的窗格使用這個類:</P>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色精品天天在线观看视频| 久久毛片高清国产| 欧美伊人久久大香线蕉综合69| av资源站一区| 成人黄色在线网站| 风间由美中文字幕在线看视频国产欧美| 久久精品国产**网站演员| 蜜桃视频在线观看一区| 看片的网站亚洲| 美国av一区二区| 国产一区不卡精品| 国产麻豆精品在线观看| 成人夜色视频网站在线观看| 欧美精品第1页| 欧美伊人久久久久久午夜久久久久| 欧美亚洲国产一区在线观看网站| 欧美亚洲自拍偷拍| 欧美色图激情小说| 91精品国产一区二区三区香蕉| 69久久夜色精品国产69蝌蚪网| 日韩一区二区在线看| 久久人人爽人人爽| 国产精品色一区二区三区| 亚洲免费看黄网站| 亚洲一区二区三区小说| 日本美女一区二区| 国产在线不卡视频| 不卡视频免费播放| 欧美性大战久久久久久久| 91精品国产入口| 久久久久久久国产精品影院| 国产精品国产三级国产专播品爱网| 亚洲欧洲在线观看av| 亚洲一区二区欧美激情| 免费成人在线观看视频| 国产精品亚洲一区二区三区妖精 | 欧美一区二视频| 日韩欧美在线不卡| 国产精品三级av在线播放| 亚洲精品久久久蜜桃| 免费成人你懂的| 成人在线视频首页| 欧美日韩国产欧美日美国产精品| 精品免费日韩av| 亚洲精选视频在线| 日本免费新一区视频| 成人黄色免费短视频| 欧美精品色综合| 亚洲国产高清在线观看视频| 午夜精品视频一区| 国产 日韩 欧美大片| 欧美日韩国产片| 欧美国产乱子伦| 亚洲大型综合色站| 国产成人精品免费视频网站| 欧美日韩mp4| 欧美激情一区三区| 美女一区二区在线观看| 91丨porny丨中文| 日韩精品一区二区三区视频播放| 亚洲美腿欧美偷拍| 国产老妇另类xxxxx| 欧美三级韩国三级日本三斤| 久久精品视频一区二区| 日韩av电影免费观看高清完整版在线观看| 国产激情精品久久久第一区二区 | 日本欧美一区二区三区| 成人黄页在线观看| 精品国产一二三区| 亚洲一区二区三区不卡国产欧美| 国产成人综合在线| 日韩视频在线永久播放| 亚洲一区免费视频| 成人av在线播放网站| 日韩美女在线视频| 偷拍日韩校园综合在线| 91理论电影在线观看| 国产偷国产偷亚洲高清人白洁| 日韩有码一区二区三区| 91行情网站电视在线观看高清版| 久久久久久久久久久电影| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕中文字幕中文字幕亚洲无线| 麻豆精品久久精品色综合| 在线免费精品视频| 中文字幕日本不卡| 福利一区二区在线| 久久久久国产精品麻豆| 开心九九激情九九欧美日韩精美视频电影| 一本到不卡精品视频在线观看| 亚洲国产精品黑人久久久 | 在线不卡的av| 亚洲精品成人天堂一二三| 成人av午夜影院| 中文字幕乱码久久午夜不卡| 国产乱理伦片在线观看夜一区| 欧美一二三区在线| 视频一区视频二区在线观看| 欧美三级三级三级爽爽爽| 一二三四区精品视频| 国产精品久久久久三级| 久久免费美女视频| 亚洲精品视频免费观看| 99精品视频在线播放观看| 国产精品久久久久影院老司| 国产69精品久久777的优势| 国产亚洲一二三区| 成人综合婷婷国产精品久久| 久久久不卡网国产精品一区| 国产高清不卡一区| 中文字幕精品综合| 99精品久久免费看蜜臀剧情介绍| 国产精品卡一卡二| 91亚洲男人天堂| 亚洲美女免费在线| 欧美日韩一区二区在线观看视频| 亚洲福中文字幕伊人影院| 欧美精品xxxxbbbb| 蜜桃视频一区二区三区 | 亚洲一二三四在线| 精品视频一区三区九区| 丝袜国产日韩另类美女| 日韩欧美一区二区三区在线| 国内成人自拍视频| 国产日产欧产精品推荐色 | 欧美日韩二区三区| 免费高清在线视频一区·| 久久综合色之久久综合| 国产999精品久久| 亚洲你懂的在线视频| 欧美天堂一区二区三区| 老司机免费视频一区二区三区| 精品91自产拍在线观看一区| 粉嫩在线一区二区三区视频| 国产精品传媒入口麻豆| 欧美日韩精品一区二区三区蜜桃| 日本在线播放一区二区三区| 2019国产精品| 91丨porny丨户外露出| 视频一区在线播放| 国产午夜精品一区二区三区嫩草 | 丝袜a∨在线一区二区三区不卡| 日韩亚洲欧美在线| 成人午夜视频在线| 一区二区三区在线看| 精品国产一区a| 91论坛在线播放| 日韩av中文在线观看| 欧美—级在线免费片| 欧美日韩一区二区在线观看视频| 精品一区二区三区香蕉蜜桃| 18欧美乱大交hd1984| 日韩一区二区三区在线观看| 岛国一区二区三区| 午夜欧美视频在线观看| 日本一区二区三区dvd视频在线| 日本高清不卡视频| 狠狠色2019综合网| 一卡二卡三卡日韩欧美| 精品国产伦一区二区三区观看方式| 99久久精品免费观看| 美女在线视频一区| 亚洲精品网站在线观看| 亚洲精品在线三区| 在线视频国产一区| 成人午夜私人影院| 乱一区二区av| 亚洲综合一区二区| 国产欧美一区视频| 欧美精品黑人性xxxx| av不卡在线观看| 久久精品国产免费看久久精品| 国产精品天干天干在线综合| 日韩一区二区视频| 91福利精品第一导航| 成人做爰69片免费看网站| 免费在线观看视频一区| 亚洲综合另类小说| 中文字幕一区二区三区精华液| 亚洲精品一区二区三区蜜桃下载 | 欧美人妖巨大在线| 91免费观看视频| 粉嫩av亚洲一区二区图片| 波多野结衣精品在线| 奇米色一区二区三区四区| 亚洲素人一区二区| 国产精品欧美综合在线| 精品国产精品一区二区夜夜嗨| 欧美精品一二三四| 色偷偷88欧美精品久久久| 懂色av中文一区二区三区| 韩国三级中文字幕hd久久精品| 日本亚洲免费观看| 亚洲aaa精品| 一区二区三区欧美久久| 亚洲精品老司机| 亚洲欧美成aⅴ人在线观看| 中文av一区二区| 欧美国产一区二区在线观看| 久久九九久精品国产免费直播|