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

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

?? lion-tut-c19.htm

?? 內有一些代碼
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<HTML>
<head>
<link rel="stylesheet" href="../../asm.css">

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Iczelion's win32 asm tutorial</title>
</head>

<body bgcolor="#FFFFFF" background="../../images/back01.jpg">
<P align=center><FONT color=#0000ff size=4>第十九課 樹型視圖控件</FONT></P>
<HR SIZE=1>
<STRONG></STRONG>本課中,我們將學習如何使用樹型視圖控件。另外還要學習如何在樹型視圖中完成拖-拉動作,以及如何使用圖象列表。 
<H3><FONT 
color=#ff0000>理論:</FONT></H3>樹型視圖是一種特別的窗口,我們可以使用它一目了然地表示某種層次關系。譬如象在資源管理器中左邊窗口中的就是樹型視圖。您可以調用CreateWindowEx來創建樹型視圖,傳遞一個類名“"SysTreeView32"”,或者您也可以把它放到一個對話框中去。不要忘了在您的代碼中加入InitCommonControls函數。 
<BR>樹型視圖有幾種特有的風格。下面是幾種經常使用的。 
<UL><B>TVS_HASBUTTONS == 
  </B>在父項目中顯示(+)或(-)。用戶可以通過點擊該符號來展開或收起該父項目下的子項目。如果想在根目錄下也有這個符號必須指定TVS_LINESATROOT風格。<BR><B>TVS_HASLINES 
  == 在層次中用線條來連接各個項目名稱。</B> <BR><B>TVS_LINESATROOT == 
  </B>在根目錄下的項目也用線連接。如果沒有指定TVS_HASLINES風格,該風格也就會被忽略。 
</UL>像其它的通用控件一樣,樹型視圖用消息來完成通信。父窗口發送一系列的消息給樹型視圖,而樹型視圖發送"notification"消息給它的父窗口。在這方面,樹型視圖和其它的通用控制沒什么兩樣。<BR>當有事件發生時,樹型視圖發送一個WM_NOTIFY消息個父窗口,并在消息中附帶傳遞一些附加信息。 

<UL><B>WM_NOTIFY</B> <BR><B>wParam 
  ==</B>控件的ID。因為該值不是唯一的,故我們不用它。我們使用NMHDR結構體中的hwndFrom或IDFrom成員變量。<BR><B>lParam 
  == 
  </B>指向NMHDR結構體的指針。有一些控件可能傳遞一個指向更大一點的結構體的指針。但該結構體必須保證它的第一個成員變量是一個NMHDR型的變量。這樣,您在處理lParam變量時,至少可以得到一個NMHDR型的變量。 
</UL>下面我們來看NMHDR: 
<UL><B>NMHDR struct DWORD</B> <BR><B>&nbsp;&nbsp;&nbsp; 
  hwndFrom&nbsp;&nbsp;&nbsp; DWORD ?</B> <BR><B>&nbsp;&nbsp;&nbsp; 
  idFrom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD ?</B> 
  <BR><B>&nbsp;&nbsp;&nbsp; 
  code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD ?</B> <BR><B>NMHDR ends</B> 
</UL>hwndFrom是發送WM_NOTIFY消息的控件的窗口句柄。<BR>idFrom是發送WM_NOTIFY消息的控件的ID。 
<BR>code是控件發送給父窗口的數據。<BR>樹型視圖發送給父窗口的通知消息以TVN_打頭。 
樹型視圖接收到的消息以TVM_打頭,譬如:TVM_CREATEDRAGIMAGE。 
樹型視圖發送TVN_XXX消息時在code變量中放入NMHDR型變量。父窗口發送TVM_消息來控制樹型視圖。 
<H4><FONT 
color=#ff0000>在樹型視圖中加入項目</FONT></H4>在創建完樹型視圖后可以通過發送TVM_INSERTITEM消息往其中加入項目了。 
<UL>
  <P><B>TVM_INSERTITEM</B> <BR><B>wParam = 0;</B> <BR><B>lParam = 
  指向結構體TV_INSERTSTRUCT的指針; </B></P>
  <P>您應當知道一些關于樹型視圖中的項目之間關系的一些術語。 
  一個項目可能是一個父親、兒子或兩者都是。父項目下含有子項目,而該父項目又有可能是其它項目的子項目。一個沒有父項目的項目叫根項目。在樹型視圖中可能有多個根項目。現在我們來看看TV_INSERTSTRUCT結構體:</P></UL>
<UL><B>TV_INSERTSTRUCT STRUCT DWORD</B> <BR><B>&nbsp; 
  hParent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; hInsertAfter&nbsp; 
  DWORD ?</B> 
  <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ITEMTYPE &lt;&gt;</B> <BR><B>TV_INSERTSTRUCT ENDS</B> </UL><B>hParent</B> = 
父項目的句柄。如果該值為TVI_ROOT value或NULL,該項目插在樹型視圖的根部。<BR><B>hInsertAfter</B> = 
應該插入在起后面的項目的句柄或下面的值: 
<UL>
  <LI>TVI_FIRST ==&gt; 插在列表的頭部。 
  <LI>TVI_LAST ==&gt; 插在列表的尾部。 
  <LI>TVI_SORT ==&gt; 按字母順序插入。 </LI></UL>
<UL><B>ITEMTYPE UNION</B> <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  itemex TVITEMEX &lt;&gt;</B> <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  item TVITEM &lt;&gt;</B> <BR><B>ITEMTYPE ENDS</B> </UL>我們僅使用TVITEM。 
<UL><B>TV_ITEM STRUCT DWORD</B> <BR><B>&nbsp; 
  imask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  hItem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  state&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  stateMask&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  pszText&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  cchTextMax&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  iImage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  iSelectedImage&nbsp;&nbsp;&nbsp; DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> 
  <BR><B>&nbsp; cChildren&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>&nbsp; 
  lParam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?</B> <BR><B>TV_ITEM ENDS</B> </UL>
<P>該結構體根據消息類型,用來發送或接收關于一個樹型視圖的項目的有關信息。譬如:對于消息<B>TVM_INSERTITEM</B>,它用來指定插入樹型視圖控件的項目的屬性。而對于消息TVM_GETITEM,該結構體用來填充關于選定項目的信息。<BR><B>imask 
</B>用來指定TV_ITEM的那些成員變量有效。譬如,如果指定了TVIF_TEXT,這意味著pszText成員變量是有效的。您可以同時指定幾個標志位。<BR><B>hItem 
</B>是樹型視圖項目的句柄。每一個項目都有它自己的句柄,就像窗口一樣。如果您想要操作一個項目,就必須選擇它的句柄。<BR><B>pszText</B> 
是一個字符串指針。它是項目的標簽名。<BR><B>cchTextMax</B>僅在查詢項目的名稱時使用。由于在pszText中指定了指針,WINDOWS還要知道該緩沖去的大小。所以您必須給出該值。<BR><B>iImage 
</B>和 
<B>iSelectedImage</B>用來指定圖象列表以及一個索引號。這樣就知道當項目被選中或沒被選中時用哪個圖象來表示該項目。像資源管理器中左邊窗口中的文件夾等小圖表就是有這兩個參數來決定的。 
<BR>為了在樹型視圖中插入一個項目,您必須至少設定hParent, hInsertAfter,另外您還要設定imask和pszText值。 </P>
<H4><FONT 
color=#ff0000>把圖形加到圖形視圖中</FONT></H4>如果您想要在項目的名稱左邊顯示圖標的話,您必須創建一個圖形列表,并且把它和樹形視圖相關聯起來。您可以調用ImageList_Create來創建一個圖形列表。 

<UL><B>ImageList_Create PROTO cx:DWORD, cy:DWORD, flags:DWORD, \</B> 
  <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  cInitial:DWORD,&nbsp; cGrow:DWORD</B> </UL>
<P>如果創建成功的話,該函數返回一個空的圖象列表的句柄。<BR><B>cx </B>== 以像素為單位的圖象的寬度。<BR><B>cy</B> == 
以像素為單位的圖象的高度。圖象列表中的每一幅的高度都必須相同。否則WINDOWS會對您的圖象進行裁剪,如果過大的話就可能裁剪成幾小塊。所以您必須指定相同大小的圖象。<BR><B>flags</B> 
== 指定圖象列表的圖象的顏色深度。詳細情況請參考WIN32 API 指南。<BR><B>cInitial</B> == 
指定包含的圖象的數目。WINDWOS將依此來分配合適的內存。<BR><B>cGrow</B> == 在增加新圖象是一次增加的數目。</P>
<P>圖象列表不是窗口。僅僅是保存在那給其它的窗口使用的一種資源。 在圖象列表產生后,您可以調用ImageList_Add來向其中加入圖象。 </P>
<UL><B>ImageList_Add PROTO himl:DWORD, hbmImage:DWORD, hbmMask:DWORD</B> 
</UL>如果該函數調用失敗的話,返回-1。<BR><B>himl </B>== 
圖象列表的句柄。它是調用ImageList_Create時返回的值。<BR><B>hbmImage</B> == 
加入圖象列表的位圖的句柄。您通常把位圖保存在資源中,然后調用LoadBitmap來把它加載進來。 
注意您沒有必要指定該位圖中包含的圖象的數目。WINDOWS會根據它的大小,自動計算。<BR><B>hbmMask</B> == 
掩碼位圖的句柄。如果沒有使用掩碼位圖,可以忽略該值。 
通常我們加入兩種圖象到圖象列表中。一種時被選中時顯示的圖象,另一種時沒被選中時顯示的。<BR>當圖象列表準備就緒后,您可以發送消息TVM_SETIMAGELIST給樹型視圖來讓圖象列表和樹型視圖聯系起來。 

<UL><B>TVM_SETIMAGELIST</B> <BR><B>wParam = </B>圖象列表的狀態,一共有兩種: 
  <UL>
    <LI><B>TVSIL_NORMAL </B>包含被選中和沒有被選中兩種狀態的圖象。 
    <LI><B>TVSIL_STATE </B>包含了用戶自定義的狀態的圖象。 </LI></UL><B>lParam = </B>圖象列表的句柄。 </UL>
<H4><FONT color=#ff0000>檢索樹型視圖的信息</FONT></H4>您可以通過發送消息TVM_GETITEM來檢索圖形視圖的信息。 
<UL>
  <P><B>TVM_GETITEM</B> <BR><B>wParam = 0</B> <BR><B>lParam 
  =指向結構體TV_ITEM的指針。該結構體將用來得到相關的信息。</B></P>
  <P>在發送該消息前必須設置成員變量imask的值,以便WINDOWS能告訴相關的信息。當然,最重要的是,您必須傳遞您想得到信息的項目的句柄。這就引起了一個問題,您如何得到項目的句柄?要保存所有項目的句柄嗎?<BR>答案是很簡單的:沒有必要。您可以發送消息TVM_GETNEXTITEM到樹型視圖以檢索您想要得到其屬性的項目的句柄。譬如:您可以查詢第一個子項目的句柄、根目錄的句柄、選中的項目的句柄等等。</P></UL>
<UL><B>TVM_GETNEXTITEM</B> <BR><B>wParam = </B>標志<BR><B>lParam = 
  </B>樹型視圖的句柄(僅僅當wParam的值是某些標志位時才是必須的)。 </UL>wParam中的值非常重要, 我解釋如下: 
<UL>
  <UL>
    <LI><B>TVGN_CARET</B> 選中的項目 
    <LI><B>TVGN_CHILD</B> hitem參數指定項目的第一個子項目 
    <LI><B>TVGN_DROPHILITE</B> 拖-拉操作的目的項目 
    <LI><B>TVGN_FIRSTVISIBLE</B> 第一個可見項目 
    <LI><B>TVGN_NEXT </B>下一個同級項目 
    <LI><B>TVGN_NEXTVISIBLE</B> 下一個可見項目,指定的項目必須可見。發送消息TVM_GETITEMRECT 來決定項目是否可見 
    <LI><B>TVGN_PARENT</B> 指定項目的父項目 
    <LI><B>TVGN_PREVIOUS</B> 前一個同級項目 
    <LI><B>TVGN_PREVIOUSVISIBLE</B> 前一個可見項目,指定的項目必須可見。發送消息TVM_GETITEMRECT 
    來決定項目是否可見 
    <LI><B>TVGN_ROOT</B> 根項目 
</LI></UL></UL>由此您可以通過發送該消息來得到項目的句柄,然后在發送消息TVM_GETITEM時在結構體變量TV_ITEM的成員變量hItem中放入該項目的句柄就可以得到關于該項目的有關信息了。 

<H4><FONT 
color=#ff0000>在樹型視圖中進行拖-拉操作</FONT></H4>也就是因為這一部分我才決定寫這課教程。當我按照InPrise公司的WIN32幫助來運行例子時,發現它的幫助中缺少真正重要的信息。我只有通過自己做實驗,最后總算弄明白來個中來由。希望您不要和我一樣再去走這些彎路,下面我把我所知的在樹型視圖中進行拖-拉操作的步驟描述如下: 

<OL>
  <LI>當用戶要拖動一個項目時,樹型視圖控件會給它的父窗口發送TVN_BEGINDRAG通知消息。您可以在此處創建表示項目處在拖動操作中的圖象,這可以通過發送TVM_CREATEDRAGIMAGE消息給樹型視圖,讓其為目前使用的圖象產生一副缺省的圖象來實現。樹型視圖控件將創建一個圖象列表,其中僅包含一副在拖動中顯示的圖象,圖象列表創建后,您可以得到它的句柄。 

  <LI>在拖拉的圖象生成后,您可以通過調用ImageList_BeginDrag來指定拖動圖象的熱點位置。 
  <OL><B>ImageList_BeginDrag PROTO himlTrack:DWORD,&nbsp; \</B> 
    <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    iTrack:DWORD , \</B> 
    <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    dxHotspot:DWORD, \</B> 
    <BR><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    dyHotspot:DWORD</B> <BR><B>himlTrack</B> 是包含了拖拉時顯示的圖象的圖象列表的句柄 
    <BR><B>iTrack</B> 是選中的圖象在圖象列表中的索引號。<BR><B>dxHotspot</B> 
    因為在拖動中該圖象被用來取代光標,所以我們必須指定圖象中的哪一點是光標的左上角的位置。dxHotspot是水平相對位置。 
    <BR><B>dyHotspot</B> 
    是垂直相對位置。<BR><B>iTrack</B>等于0。如果您要想光標的熱點在拖拉中顯示的圖象的左上角,把dxHotspot和dyHotspot都設成0。 
  </OL>
  <LI>當拖拉的圖象要顯示時,我們調用ImageList_DragEnter 在樹型視圖中顯示該圖象。 
  <OL><B>ImageList_DragEnter PROTO hwndLock:DWORD, x:DWORD, y:DWORD</B> 
    <BR><B>hwndLock</B> 是進行拖拉中的窗口的句柄,拖拉的動作限制在該窗口中。<BR><B>x 和 
    y</B>是在拖拉時顯示圖象的初始位置的坐標值。這些值是相對于窗口的左上角而不是客戶區的左上角。 </OL>
  <LI>既然可以顯示拖動中的圖象了,我們就要處理拖動操作了。在這里有一個小問題。我們監視拖動是通過監視鼠標光標的移動來實現的,譬如在移動時我們通過捕獲WM_MOUSEMOVE消息來得到移動中的坐標位置,通過捕獲WM_LBUTTONUP消息來獲知用戶的放下操作。但這時如果鼠標光標移過子窗口時父窗口就無法再得到鼠標光標的移動以及鼠標的按鍵消息了。解決辦法是調用SetCapture函數了鎖定鼠標事件,這樣無論鼠標移到那里和有什么動作,我們的窗口都可以知道了。 

  <LI>在處理WM_MOUSEMOVE消息時,您可以調用ImageList_DragMove來更新圖象移動的軌跡。 
  該函數可以移動拖放操作中的圖象位置。另外,如果您想讓移動中的圖象經過某些項目時高量度顯示,可以調用TVM_HITTEST 
  來確定是否經過某個項目的上面。如果是的話,您可以發送TVM_SELECTITEM消息并設置 
  TVGN_DROPHILITE標志位使得那個項目高亮度顯示。注意:在發送消息TVM_SELECTITEM前,您必須先隱藏圖象列表,否則會留下非常難看的軌跡。要隱藏拖動中的圖象可以調用ImageList_DragShowNolock,在顯示完高亮度的圖象后再調用該函數以讓拖動中的圖象再正常顯示。 

  <LI>當用戶釋放主鍵后,您必須做幾件事。 
  如果您在高亮度顯示的時候釋放鼠標主鍵(表示您想把該項目加到此處),您必須使該項目變成正常地顯示,這可以通過發送消息TVM_SELECTITEM消息并設置標志位TVGN_DROPHILITE來實現,只是這時lParam必須為0。如果您不讓高亮度顯示的項目恢復正常,那就會發生一個奇怪的現象:當您再選擇另外的項目時,那個項目的圖象會包含在一個正方形中,當時高亮度顯示的項目依舊是上一個項目。接下來必須調用ImageList_EndDrag和ImageList_DragLeave。還有調用ReleaseCapture來釋放捕獲的鼠標。如果您創建了一個圖象列表,那還要調用calling 
  ImageList來將它銷毀,在拖放操作結束后您可以進行另外其它的操作。 </LI></OL>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码一区二区免费| 亚洲男人电影天堂| 蜜桃一区二区三区在线观看| 欧美三区在线观看| 日本 国产 欧美色综合| 欧美一三区三区四区免费在线看| 日韩成人午夜电影| 久久综合狠狠综合久久综合88| 国产精品一区二区在线看| 国产精品青草久久| 在线亚洲高清视频| 毛片av一区二区三区| 久久久久久久久久久久久久久99 | 一本色道久久综合亚洲aⅴ蜜桃| 国产精品国产三级国产| 在线观看欧美日本| 免费看日韩a级影片| 国产精品色婷婷| 欧美性猛交xxxx黑人交| 久久99精品国产麻豆婷婷洗澡| 久久久久久久综合日本| 91国模大尺度私拍在线视频| 视频在线在亚洲| 国产午夜亚洲精品理论片色戒| 懂色av一区二区夜夜嗨| 一区二区三区日韩欧美精品 | 欧美变态口味重另类| 成人一区二区三区在线观看 | 欧美日韩国产经典色站一区二区三区| 麻豆国产精品一区二区三区| 中文一区在线播放| 91精品国产综合久久小美女| 成人h动漫精品一区二| 天使萌一区二区三区免费观看| 久久精品一区二区| 欧美撒尿777hd撒尿| 国产精品综合网| 五月综合激情网| 国产精品成人免费| 日韩欧美国产电影| 在线欧美日韩国产| 国产成+人+日韩+欧美+亚洲| 亚洲成人综合网站| 亚洲女与黑人做爰| 久久精品日韩一区二区三区| 欧美综合在线视频| 成人激情免费网站| 国产在线麻豆精品观看| 舔着乳尖日韩一区| 亚洲精选免费视频| 中文字幕+乱码+中文字幕一区| 亚洲三级理论片| 久久久美女毛片| 欧美一区二区三区在| 色综合久久中文字幕| 国产成人在线视频播放| 日本不卡1234视频| 性欧美大战久久久久久久久| 国产精品蜜臀在线观看| 成人免费高清在线观看| 亚洲国产成人在线| 久久影院午夜片一区| 日韩欧美资源站| 欧美三级中文字| 在线观看日韩精品| 一本大道综合伊人精品热热| eeuss鲁片一区二区三区在线看| 国产在线日韩欧美| 九一久久久久久| 久久成人羞羞网站| 美女在线观看视频一区二区| 天天av天天翘天天综合网色鬼国产| 一区av在线播放| 亚洲自拍偷拍图区| 亚洲一区二区视频在线| 亚洲一区二区三区四区五区中文| 亚洲丝袜另类动漫二区| 国产精品久久久久影院亚瑟 | 日韩黄色免费电影| 日韩福利电影在线| 麻豆一区二区三| 日日夜夜免费精品视频| 精品理论电影在线| 欧美色窝79yyyycom| 欧洲在线/亚洲| 欧美情侣在线播放| 日韩午夜精品电影| 欧美精品一区二区三区视频| 精品国偷自产国产一区| 久久美女艺术照精彩视频福利播放| 日韩免费看网站| 国产午夜精品久久久久久免费视| 久久久久久久综合色一本| 久久精品夜夜夜夜久久| 国产精品福利电影一区二区三区四区| 国产精品家庭影院| 亚洲乱码日产精品bd| 亚洲不卡一区二区三区| 精品一区二区三区在线播放 | 国产精品性做久久久久久| 国产成人免费在线观看| 色婷婷综合久久久久中文一区二区| 在线观看欧美黄色| 欧美精品一区二| 亚洲欧洲日韩综合一区二区| 亚洲国产另类av| 国产一区福利在线| 91在线观看地址| 亚洲免费在线观看| 粉嫩久久99精品久久久久久夜| 久久伊人蜜桃av一区二区| 欧美色电影在线| 久久综合网色—综合色88| 中文字幕日韩欧美一区二区三区| 丝袜亚洲另类欧美综合| 国产精品亚洲а∨天堂免在线| 色婷婷激情一区二区三区| 欧美xxx久久| 亚洲女人的天堂| 黄页网站大全一区二区| 一本色道亚洲精品aⅴ| www国产精品av| 亚洲自拍偷拍网站| 国产高清在线精品| 欧美妇女性影城| 国产精品久线在线观看| 亚洲不卡一区二区三区| 成人h动漫精品一区二区 | 欧美日韩综合在线| 欧美激情一区二区| 看片的网站亚洲| 欧美私人免费视频| 亚洲国产精品成人综合 | 精品99999| 亚洲成年人网站在线观看| av在线一区二区三区| 精品国产乱码久久久久久图片| 综合色天天鬼久久鬼色| 国产综合久久久久久鬼色| 欧美色涩在线第一页| 国产精品三级av在线播放| 精品在线你懂的| 欧美色视频在线| 亚洲免费电影在线| 99久久99久久精品国产片果冻| 精品国产亚洲一区二区三区在线观看| 亚洲最色的网站| 99精品在线免费| 国产精品人成在线观看免费| 蓝色福利精品导航| 777午夜精品免费视频| 亚洲乱码国产乱码精品精小说| 懂色中文一区二区在线播放| 久久久久久久久久久黄色| 免费黄网站欧美| 欧美美女一区二区在线观看| 亚洲一区二区视频| 欧美伊人久久久久久久久影院 | 欧美日韩一区在线| 亚洲天堂网中文字| 不卡视频在线看| 中文字幕一区免费在线观看 | 久久精品国产一区二区| 91精品欧美久久久久久动漫 | 久久人人97超碰com| 久久电影网电视剧免费观看| 日韩欧美一级精品久久| 麻豆精品在线看| 久久综合久久久久88| 国产一区二区三区四区五区入口| 精品区一区二区| 国产一区二区毛片| 欧美激情一区二区三区蜜桃视频| 国产在线日韩欧美| 国产欧美精品一区aⅴ影院| 国产精品正在播放| 国产欧美中文在线| 91亚洲午夜精品久久久久久| 国产精品电影一区二区三区| 91亚洲资源网| 午夜精品视频一区| 在线综合亚洲欧美在线视频| 久久99精品久久久久久国产越南 | 日韩毛片视频在线看| 91蜜桃免费观看视频| 亚洲v日本v欧美v久久精品| 4438x成人网最大色成网站| 极品少妇xxxx精品少妇| 国产网站一区二区| 欧美一级黄色片| 久久福利资源站| 中文字幕的久久| 欧美性猛交一区二区三区精品| 日韩精品久久久久久| 久久婷婷国产综合精品青草| 高清国产午夜精品久久久久久| 最新不卡av在线| 欧美日韩国产大片| 国产成人精品影视| 一级中文字幕一区二区|