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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ATL的GUI程序设计(3)

發布時間:2023/11/27 生活经验 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ATL的GUI程序设计(3) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第三章 ATL的窗口類

CWindowImpl、CWindow、CWinTraits,ATL窗口類的奧秘盡在此三者之中。在本章里,李馬將為你詳細解說它們的使用方法。另外,本章的內容也可以算是本書的核心部分——如果你要進行ATL的GUI程序設計的話,就必須將ATL的窗口類設計理念了然于心。

窗口的組成

把ATL的窗口類撇開不談先。我在上一章中提到:窗口類并非任何一種OOP語言中的類——它所包括的并不是通稱的屬性和方法(在C++中稱作成員變量和成員函數),而是屬性和響應。現在是解釋這句話的時候了。
所謂窗口的屬性,無非是窗口的樣式(style)、背景畫刷(brush)、圖標(icon)、光標(cursor)……等元素。你可以從WNDCLASS及WNDCLASSEX中找到它們。需要特別指出的是,窗口的樣式事實上包括窗口類的樣式和窗口實例的樣式,窗口類的樣式在注冊窗口類之前經由WNDCLASS::style或WNDCLASSEX::style指定,而窗口實例的樣式則是在創建窗口(CreateWindow/CreateWindowEx)的時候指定的。
對于窗口的響應,即是指窗口收到某消息后的處理。(在VB、Delphi等RAD環境中,處理窗口的響應亦稱作窗口的事件處理。)對于SDK而言,為窗口提供響應也就是為窗口類提供一個回調函數,在回調函數中對我們感興趣的窗口消息進行特殊處理,譬如上一章中針對WM_DESTROY和WM_PAINT的處理。
另外,我們在進行Win32程序設計的時候,往往還需要對窗口進行操作,譬如ShowWindow和UpdateWindow——姑且讓我稱之為“方法”。
屬性、方法、事件,這回這哥仨算齊了。我們在對窗口進行C++封裝時,需要考慮的也正是這三者。自然,依據OO的理念,我們可以很簡單地將句柄作為成員變量,將方法作為成員函數,然后將事件經由某種特定的消息分流手段移交給各個成員函數進行響應處理,加之對不同種類的窗口使用繼承進行區分——這就是MFC的封裝做法。大家如果有興趣的話,可以打開MFC的afxwin.h看一看CWnd類的代碼。

ATL窗口類的活版封裝

MFC的CWnd是一個冗長得有些過分的類。究其原因,窗口類的封裝理念決定了窗口類的消息分流,而消息分流則決定了類的代碼篇幅。如果你已經打開了afxwin.h文件,就可以發現CWnd花了很大的篇幅在“On”開頭的事件響應函數上。其實在我們進行Win32程序設計的時候,真正感興趣的事件沒有幾個,所以說“萬能”勢必造就冗長。
另外,考慮MFC的誕生年代,所以對于窗口的封裝只是采用了C++的低端特性——例如薄層的封裝和單向繼承。(題外話:而且MFC中還存在著一些諸如CString、CArray、CList之類的工具,蓋因其時STL還未標準化之故。)隨著MFC的發展,任憑它做出任何優化,也無法避免當初架構理念帶來的效率陰影和偏差。
ATL的誕生年代晚于MFC,使之能夠有機會使用C++的高端特性,也就是模板和多重繼承。于是,它使用了一種全新的封裝理念:將屬性、方法、事件分別獨立出來,然后利用模板和多重繼承的特性將這三者根據需要而組合在一起——打個比方來說,如果MFC的窗口封裝是雕版印刷術,那么ATL的窗口封裝就是活版印刷術。以上一章的CHelloATLWnd類為例,它的繼承層次如下圖:

這是一個稍顯冗長的繼承鏈,不過我并不打算對它進行詳細的解說。在此,我只請你看這個繼承層次的最底層和最上層。從最底層來看,CHelloATLWnd繼承自CWindowImpl,CWindowImpl有三個模板參數:T、TBase、TWinTraits。再看最上層,CWindowImplRoot繼承自TBase和CMessageMap。T參數即是你所繼承下來的子類名,通常用于編譯期的虛函數機制(后邊我會對這一機制進行介紹);TBase參數為對窗口方法和句柄的封裝;TWinTraits是窗口樣式的類封裝;CMessageMap是對窗口事件響應的封裝。
下面,就讓李馬來逐一將這些組成部分介紹給你吧。

窗口樣式的封裝

窗口樣式通常由CWinTraits類封裝,這個類很簡單,如下:

C++代碼
  1. /???
  2. //?CWinTraits?–?Defines?various?default?values?for?a?window???
  3. ??
  4. template?<DWORD?t_dwStyle?=?0,?DWORD?t_dwExStyle?=?0> ??
  5. class?CWinTraits ??
  6. { ??
  7. public: ??
  8. ????static?DWORD?GetWndStyle(DWORD?dwStyle) ??
  9. ????{ ??
  10. ????????return?dwStyle?==?0???t_dwStyle?:?dwStyle; ??
  11. ????} ??
  12. ????static?DWORD?GetWndExStyle(DWORD?dwExStyle) ??
  13. ????{ ??
  14. ????????return?dwExStyle?==?0???t_dwExStyle?:?dwExStyle; ??
  15. ????} ??
  16. };??

這個類有兩個模板參數:dwStyle和dwExStyle,也就是CreateWindowEx中要用到的那兩個樣式參數。在CHelloATLWnd::Create(其實也就是CWindowImpl::Create)調用的時候,窗口的樣式就是由CWinTraits::GetWndStyle/CWinTraits::GetWndExStyle決定的。
另外,ATL還為常用的窗口樣式提供了幾個typedef,如CControlWinTraits、CFrameWinTraits、CMDIChildWinTraits。在你需要它們這些特定樣式或者需要對它們進行擴展的時候,可以直接進行使用或者使用CWinTraitsOR類來進行進一步的樣式組合,這里我就不多介紹了。

窗口方法的封裝

說白了,窗口方法的封裝其實就是把窗口句柄和常用的窗口操作API函數(也就是那些第一個參數為HWND類型的API函數)進行一層薄薄的綁定。這樣做的好處有二:第一,使代碼更有邏輯性,符合OO的設計理念;第二,在對SendMessage進行封裝后,可以增加對消息參數的類型檢查。
CWindow類的內容我就不列出了,因為它同樣十分冗長,大家可以參看atlwin.h的相關內容。在這里我僅對其中的幾個地方進行解說:

  • 它只有一個非static的成員變量,也就是窗口的句柄m_hWnd。這樣做的好處是使得CWindow類的對象占用最小的資源,同時給程序員提供最大的自由度。與MFC的CWnd類相比,CWindow的優點體現得尤為明顯。CWnd之中還存在著一些MFC Framework要用到的東西,比如RTTI信息等等。此外,MFC內部還會為每個窗口句柄維護一個相對應的CWnd對象,形成一個對象鏈,這樣程序員可以通過GetDlgItem獲取CWnd類的指針,但是這同時也為系統增加了很多額外的負擔。
  • CWindow提供了對operator=操作符的重載,這樣程序員可以直接將一個HWND賦給一個CWindow對象。
  • CWindow::Attach/CWindow::Detach提供了CWindow對象與HWND的綁定/解除綁定功能。
  • CWindow提供了對operator HWND類型轉換操作符的重載,這樣在用到HWND類型變量的時候,可以直接使用CWindow對象來代替。

有了CWindow類之后,如果你需要對窗口進行更多的操作,就可以對其進行繼承,例如CButton、CListBox、CEdit等等。這樣一來,代碼的復用性就大大提高了。

窗口事件響應的封裝

窗口事件響應的封裝,也就是這個類如何對窗口消息進行分流。你應該還記得,CHelloATLWnd類是通過BEGIN_MSG_MAP、END_MSG_MAP和MESSAGE_HANDLER宏實現的。如果你參閱了atlwin.h中它們的定義,你就會發現其實它們會組成一個ProcessWindowMessage函數。是的,CMessageMap就是由這個函數組成的:

C++代碼
  1. /???
  2. //?CMessageMap?–?abstract?class?that?provides?an?interface?for?message?maps???
  3. ??
  4. class?ATL_NO_VTABLE?CMessageMap ??
  5. { ??
  6. public: ??
  7. ????virtual?BOOL?ProcessWindowMessage(HWND?hWnd,?UINT?uMsg,?WPARAM?wParam,?LPARAM?lParam, ??
  8. ????????LRESULT&?lResult,?DWORD?dwMsgMapID)?=?0; ??
  9. };??

CWindowImplRoot派生自CMessageMap,所以CWindowImplRoot及至CWindowImpl都需要實現ProcessWindowMessage以完成窗口消息的分流。大家可以看到,這個函數的前四個參數是在SDK程序設計中窗口回調的原班人馬,在此不多介紹。lResult用來接收各消息處理函數的返回值,然后返回給最初的WndProc作為返回值。dwMsgMapID是一個神秘參數,且待李馬留到以后再進行講解。
“等等!”也許你會突然打斷我,“——ATL是如何將WndProc封裝到類的成員函數中的?”的確,在編譯器的處理下,C++類中非static成員函數的參數尾部會被加入一個隱藏的this指針,這就使得它實際與回調函數的規格不合,所以非static成員函數是不能作為Win32的回調函數的。
先看MFC是如何做的吧。它采用一張龐大的消息映射表避開了這個敏感的地方,對此感興趣的朋友們可參見JJHou先生的《深入淺出MFC》。也正因此,CWnd不得不為大部分消息各實現一個消息處理函數。還好這些消息處理函數不是虛函數,否則CWnd會維護多么龐大的一張虛函數表!
而ATL的奇妙之處也正是在此。它采用了thunk機制,即是在執行真正的WndProc回調之前刷改了內存中的機器碼,將HWND參數用本窗口類的this指針替換了,然后在執行真正的代碼之前再將這個指針轉換回來。這樣,就將this指針的矛盾巧妙化解了。由于本書講解的是關于如何使用ATL進行GUI程序設計方面的內容,所以李馬不在此進行過多探討了就,感興趣的朋友們可以自己研究atlwin.h中CWindowImplBaseT的代碼,或者參考Zeeshan Amjad先生的《ATL Under the Hook Part 5》一文。
在thunk機制的幫助下,ATL的窗口類就可以直接將不感興趣的消息交由DefWindowProc進行處理,而不用像MFC一樣實現那么多消息處理函數。對于我們感興趣的消息,可以使用ATL中的BEGIN_MSG_MAP/END_MSG_MAP宏來在窗口類的成員函數ProcessWindowMessage中完成。此外對于消息的分流,除了MESSAGE_HANDLER宏,我們還可以使用其它的幾個宏進行各種消息(命令消息、普通控件通知消息、公共控件通知消息)的分流,我將在后邊專門的一章中對ATL的CMessageMap的使用方法來進行講解。

組合

葫蘆兄弟單打獨斗都不是蛇精的對手,所以葫蘆山神就會派仙鶴攜帶七色彩蓮找到他們,最后七個葫蘆娃合體成為威力無比的葫蘆小金剛,消滅了妖精,人世間重獲太平……
這自然是一個非常老套的故事,但想必如我一樣的80s生人看到后仍然會感慨不已。在那個少兒的精神食糧異常匱乏的年代,這部有些程式化臉譜化的動畫片告訴了我們一個簡單的道理:只有團結起來,才能發揮最大的力量。
ATL的窗口類也是如此,單憑CWinTraits、CWindow、CMessageMap這哥仨單打獨斗是不可能成就大氣候的。我們需要做的,就是使用某種方法來將它們組合起來。感謝C++為我們帶來的多重繼承和模板——多重繼承讓我們能夠將它們組合,模板讓我們能夠將它們靈活地組合(所謂“靈活地組合”,即是在CWindowImpl層通過填入模板參數來決定繼承鏈的頂層CWindowImplRoot的多重繼承情況)。那么,再回到上一章的窗口類CHelloATLWnd:

C++代碼
  1. class?CHelloATLWnd?:?public?CWindowImpl<?CHelloATLWnd,?CWindow,?CWinTraits<?WS_OVERLAPPEDWINDOW?>?> ??
  2. { ??
  3. public: ??
  4. ????CHelloATLWnd() ??
  5. ????{ ??
  6. ????????CWndClassInfo&?wci?????=?GetWndClassInfo(); ??
  7. ????????wci.m_bSystemCursor????=?TRUE; ??
  8. ????????wci.m_lpszCursorID?????=?IDC_ARROW; ??
  9. ????????wci.m_wc.hbrBackground?=?(HBRUSH)GetStockObject(?WHITE_BRUSH?); ??
  10. ????????wci.m_wc.hIcon?????????=?LoadIcon(?NULL,?IDI_APPLICATION?); ??
  11. ????} ??
  12. public: ??
  13. ????DECLARE_WND_CLASS(?_T("HelloATL")?) ??
  14. public: ??
  15. ????BEGIN_MSG_MAP(?CHelloATLWnd?) ??
  16. ????????MESSAGE_HANDLER(?WM_DESTROY,?OnDestroy?) ??
  17. ????????MESSAGE_HANDLER(?WM_PAINT,?OnPaint?) ??
  18. ????END_MSG_MAP() ??
  19. public: ??
  20. ????LRESULT?OnDestroy(?UINT?uMsg,?WPARAM?wParam,?LPARAM?lParam,?BOOL&?hHandled?) ??
  21. ????{ ??
  22. ????????::PostQuitMessage(?0?); ??
  23. ????????return?0; ??
  24. ????} ??
  25. ????LRESULT?OnPaint(?UINT?uMsg,?WPARAM?wParam,?LPARAM?lParam,?BOOL&?hHandled?) ??
  26. ????{ ??
  27. ????????HDC?hdc; ??
  28. ????????PAINTSTRUCT?ps; ??
  29. ??
  30. ????????hdc?=?BeginPaint(?&ps?); ??
  31. ????????DrawText(?hdc,?_T("Hello,?ATL!"),?-1,?&ps.rcPaint,?DT_CENTER?|?DT_VCENTER?|?DT_SINGLELINE?); ??
  32. ????????EndPaint(?&ps?); ??
  33. ????????return?0; ??
  34. ????} ??
  35. };??

不知道你現在再看到這個類是否會少幾分生疏?在這里,CWindowImpl就擔任了“七色彩蓮”的角色——BEGIN_MSG_MAP/END_MSG_MAP是CMessageMap由繼承帶來的,BeginPaint/EndPaint是CWindow由模板和多重繼承帶來的,以及控制窗口樣式的CWinTraits(在這里要提醒一點,在將CWinTraits作為CWindowImpl的模板參數時,一定要將CWinTraits的模板參數右尖括號與CWindowImpl的模板參數右尖括號用空格分隔開,否則湊在一起的兩個右尖括號“>>”將會被編譯器判斷為右移操作符)是由模板帶來的。
當然,我還要回答上一章遺留下來的問題:WNDCLASSEX窗口類是如何注冊的?
如果你是前已經偷偷看過CWindowImpl::Create的代碼,那么相信這個問題你已經知道答案了。不過我還是要把相關代碼列出來:

C++代碼
  1. //?from?CWindowImpl::Create???
  2. if?(T::GetWndClassInfo().m_lpszOrigName?==?NULL) ??
  3. ????T::GetWndClassInfo().m_lpszOrigName?=?GetWndClassName(); ??
  4. ATOM?atom?=?T::GetWndClassInfo().Register(&m_pfnSuperWindowProc);??

也就是說,窗口類的注冊是在窗口創建前完成的。
下面,李馬請你注意上面代碼中GetWndClassInfo的部分。這個函數是由窗口類的編寫者——也就是我們,ATL的GUI開發者——完成的,它的主要功能是用來獲取窗口類的屬性。在通常的情況下,GetWndClassInfo使用DECLARE_WND_CLASS/DECLARE_WND_CLASS_EX的形式來實現。參看DECLARE_WND_CLASS宏的定義:

C++代碼
  1. #define?DECLARE_WND_CLASS(WndClassName)????
  2. static?CWndClassInfo&?GetWndClassInfo()? ??
  3. {? ??
  4. ????static?CWndClassInfo?wc?=? ??
  5. ????{? ??
  6. ????????{?sizeof(WNDCLASSEX),?CS_HREDRAW?|?CS_VREDRAW?|?CS_DBLCLKS,?StartWindowProc,? ??
  7. ??????????0,?0,?NULL,?NULL,?NULL,?(HBRUSH)(COLOR_WINDOW?+?1),?NULL,?WndClassName,?NULL?},? ??
  8. ????????NULL,?NULL,?IDC_ARROW,?TRUE,?0,?_T("")? ??
  9. ????};? ??
  10. ????return?wc;? ??
  11. }??

這里已經為要注冊的窗口類設置好了絕大多數的常用屬性,當然,如果你仍然覺得自己需要更改更多的屬性的話,可以像CHelloATLWnd的構造函數里那么做。特別要指出的一點是,ATL對窗口類的光標(cursor)屬性是進行特殊處理的,對CWndClassInfo::m_wc.hCursor直接賦值是不行的。

編譯期的虛函數機制

ATL的效率遠遠高于MFC,其中一方面的原因就是它把很多的工作都通過模板來交給編譯器了,比如我上文提到的編譯期的虛函數機制。這個機制可以避免虛函數帶來的一切開銷而靜態實現虛函數的特性。考慮以下代碼:

C++代碼
  1. template?<?typename?T?> ??
  2. class?Parent ??
  3. { ??
  4. public: ??
  5. ????void?f() ??
  6. ????{ ??
  7. ????????cout?<<?"f?from?Parent."?<<?endl; ??
  8. ????} ??
  9. ????void?g() ??
  10. ????{ ??
  11. ????????T*?pT?=?(T*)this; ??
  12. ????????pT->f(); ??
  13. ????} ??
  14. }; ??
  15. ??
  16. class?Child1?:?public?Parent<?Child1?> ??
  17. { ??
  18. public: ??
  19. ????void?f() ??
  20. ????{ ??
  21. ????????cout?<<?"f?from?Child1."?<<?endl; ??
  22. ????} ??
  23. }; ??
  24. ??
  25. class?Child2?:?public?Parent<?Child2?> ??
  26. { ??
  27. };??

然后,這樣進行調用:

C++代碼
  1. Child1?c1; ??
  2. Child2?c2; ??
  3. c1.g();?//?f?from?Child1.???
  4. c2.g();?//?f?from?Parent.??

所有的奧秘盡在Parent::g之中,它通過一個類型轉換在編譯期就決定了調用哪個函數,頗有些多態性的味道。ATL就是借助這樣的機制來保證效率的,如果你深入到atlwin.h的源代碼之中,肯定會發現更多諸如此類的例子。

轉載于:https://www.cnblogs.com/lgh1992314/p/6616354.html

總結

以上是生活随笔為你收集整理的ATL的GUI程序设计(3)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

人人爽人人爱 | 中文字幕黄色网址 | 久久一久久 | av丝袜在线| 免费黄色特级片 | 国精产品永久999 | 色婷婷狠狠五月综合天色拍 | 国产老熟 | 天天天天干| 久久xx视频| 国产精品久久久久久久毛片 | 免费av观看网站 | 中文字幕日韩无 | 中文字幕乱视频 | 国产精品自产拍在线观看桃花 | 久久精品中文字幕 | 久久av高清 | 国产资源精品在线观看 | 亚洲性xxxx | 国产在线精品一区二区 | 久久成年人网站 | 日韩欧美国产激情在线播放 | 中文成人字幕 | 四虎在线免费视频 | 天天综合网 天天综合色 | 国内精品久久久久久久久久清纯 | 国产xxxx做受性欧美88 | 玖草在线观看 | 亚州精品天堂中文字幕 | 亚洲精品视频播放 | 久草在线一免费新视频 | 国产在线播放观看 | 九九精品视频在线观看 | 99久久日韩精品免费热麻豆美女 | 在线免费视频一区 | 五月婷婷在线观看 | 国产系列精品av | 久久久免费网站 | 中文字幕日本在线观看 | 中文字幕av有码 | 狠狠插天天干 | 色狠狠狠 | 免费看片成人 | 国内精品久久天天躁人人爽 | 黄a网站| 成人免费xxxxxx视频 | 色婷婷国产精品一区在线观看 | 国产色妞影院wwwxxx | 欧美日韩精品二区第二页 | 欧美一区二区在线免费观看 | 欧美日韩性视频在线 | 日本在线观看一区二区三区 | 久久久久高清 | 狠狠干成人综合网 | 国产日产精品一区二区三区四区的观看方式 | 天堂在线视频中文网 | 91免费网址 | 国产成人精品在线观看 | 色网站在线看 | 精品久久久久久综合日本 | 少妇av网 | 欧美精品国产精品 | 免费亚洲视频在线观看 | 亚洲精品视频免费看 | 国产日产精品久久久久快鸭 | 久久视频一区二区 | 久久8精品 | 成人精品久久 | 久久久久久久久久国产精品 | 中文字幕第一页av | 国产精品99久久免费观看 | 国产专区日韩专区 | 欧美色噜噜 | 中文字幕在线乱 | 久久男人影院 | 亚洲精品视频免费 | 一区二区精| 国产一区二区在线免费观看 | 久久精品女人毛片国产 | 免费看黄色小说的网站 | 日韩免费看的电影 | 久久久久麻豆 | 久久久麻豆精品一区二区 | www.亚洲激情.com | 91在线免费播放 | 夜夜高潮夜夜爽国产伦精品 | 久久久国产网站 | 国产无套精品久久久久久 | 亚洲免费国产 | 永久免费精品视频 | 2019免费中文字幕 | 国产精品久久久久久久久蜜臀 | 国产精品午夜在线 | 一区二区激情 | 久久久久久免费毛片精品 | 99久久久久久久久 | 日韩在线观看中文字幕 | 99久热在线精品视频成人一区 | 日韩中文字幕免费看 | 天天射天天操天天色 | 91x色| 国产亚洲精品久久久久久无几年桃 | 亚洲美女视频在线 | 91综合久久一区二区 | 香蕉久草 | 午夜aaaa| 又黄又爽又无遮挡免费的网站 | 欧美激情精品久久久 | 国产午夜精品一区二区三区欧美 | 色综合久久88色综合天天6 | 国产黄色av影视 | 在线中文字幕网站 | 欧美婷婷色 | 婷婷五月在线视频 | 久久电影中文字幕视频 | 国产精品日韩久久久久 | 国产一级久久久 | 免费观看的黄色 | 91在线视频在线观看 | 久久字幕网 | 成人国产精品免费 | 天天曰夜夜操 | www.福利| 天天射成人 | 色综久久 | 欧美一区二区三区四区夜夜大片 | av超碰免费在线 | 精品免费视频 | 安徽妇搡bbbb搡bbbb | 四虎成人精品永久免费av九九 | 亚洲 精品在线视频 | 超碰在线最新网址 | 欧美国产日韩在线观看 | 国产又粗又猛又爽又黄的视频先 | 九九热只有这里有精品 | 久久99久久99精品免观看软件 | 亚洲国产电影在线观看 | 一区精品久久 | 九九色在线观看 | 精品视频成人 | 玖玖在线资源 | 人人爱人人射 | 国产高清视频色在线www | 亚洲经典视频在线观看 | 97在线精品视频 | 国产日本在线 | 天天干天天干天天射 | 久久久久免费看 | 婷婷六月中文字幕 | 久久精品3 | 久草在线视频网站 | 国产资源网站 | 国产不卡毛片 | 国产精品手机看片 | 中文字幕亚洲不卡 | 91精品国产综合久久久久久久 | 91免费看黄 | 亚洲国产婷婷 | 狠狠色网 | 国产午夜三级一区二区三桃花影视 | 国色天香在线 | 日韩av高潮 | 亚洲最新视频在线播放 | 免费国产视频 | 国产精品99久久久久久大便 | 欧美一级片播放 | 欧美一级xxxx| 欧美一二三在线 | 国内精品久久久久久久影视麻豆 | 日韩三级视频在线观看 | 黄色亚洲在线 | 精品久久国产一区 | 午夜av影院 | 国产精品亚洲综合久久 | 91看片网址 | 蜜桃视频成人在线观看 | 少妇做爰k8经典 | 国产成人综合在线观看 | 国内免费的中文字幕 | 精品亚洲男同gayvideo网站 | 在线观看免费福利 | 日韩久久精品一区二区三区 | 欧美成人精品欧美一级乱 | 日韩免费在线观看视频 | 国产精品午夜久久久久久99热 | 97精品国产97久久久久久春色 | 99热在线精品观看 | 免费av网站观看 | 日韩精品一区二区三区免费观看 | 伊人视频 | 色国产精品一区在线观看 | 成人 亚洲 欧美 | 午夜影院三级 | 丁香婷婷电影 | 国产特级毛片aaaaaa毛片 | 黄色在线小网站 | 亚洲视屏| 欧美精品免费一区二区 | 日韩免费观看av | 亚洲女欲精品久久久久久久18 | 黄色app网站在线观看 | 91综合在线| 在线国产欧美 | 久久久精品在线观看 | 亚洲性xxxx | 欧美日韩国产页 | 久久久久国产一区二区 | 天天看天天干天天操 | 在线视频日韩精品 | 国产亚洲成av片在线观看 | 韩国精品福利一区二区三区 | 国产精品影音先锋 | 欧美精品小视频 | 欧美热久久 | 久久精品国产一区二区三区 | 99精品国产一区二区三区麻豆 | 色噜噜狠狠狠狠色综合久不 | 99在线观看精品 | 国产精品久久久久久99 | 亚洲天堂精品视频 | 国产精品一区二区白浆 | 国产玖玖精品视频 | 中文字幕中文字幕中文字幕 | 国产精品久久久久久久电影 | 波多野结衣一区 | 国产精品综合久久久久 | 久久夜靖品 | 久久国产免费看 | 激情五月婷婷综合 | 在线观看亚洲a | www.五月婷婷 | 麻豆视频在线免费 | 成人蜜桃视频 | 999久久a精品合区久久久 | 久久草草热国产精品直播 | 99re6热在线精品视频 | 久久人人射| 国产1区2区| 欧美片一区二区三区 | 免费观看91 | 久久婷婷一区二区三区 | 成人v| 成年人免费电影 | 97国产在线播放 | 亚洲精区二区三区四区麻豆 | 国产 欧美 日本 | 黄色在线观看免费网站 | 国产日本在线播放 | 国产精品九九九九九九 | 久久综合九色九九 | 精品女同一区二区三区在线观看 | 欧美日韩在线免费观看 | 久久夜色电影 | 五月天高清欧美mv | 色婷婷亚洲综合 | 久久久久国产成人免费精品免费 | 国产 日韩 欧美 在线 | 欧美精选一区二区三区 | 天天做综合网 | 久久精品中文视频 | 五月的婷婷 | 国产精品电影在线 | 日韩精品一区二区三区高清免费 | 日韩欧美一区二区在线 | 国产精品高潮久久av | 又黄又爽又色无遮挡免费 | 天天天天色综合 | 精品福利av | 999久久国产精品免费观看网站 | 国产黄色精品在线观看 | 在线国产视频一区 | 免费在线观看毛片网站 | 美女视频黄在线观看 | 97超碰站| 亚洲精选99 | a一片一级 | 国产一二区在线观看 | 中文字幕亚洲综合久久五月天色无吗'' | 亚洲精品乱码久久久久久高潮 | 2021久久| 丁香婷婷基地 | 国产69精品久久99不卡的观看体验 | 免费日韩一区二区三区 | 国产色综合 | a午夜在线 | 欧洲性视频 | 国产999精品久久久久久绿帽 | 91精品久久久久久综合乱菊 | 色天天天 | 中文字幕资源网在线观看 | www.com.黄 | 国产精品欧美精品 | 欧美三级免费 | 中文字幕在线观看完整版 | 91在线观看视频 | 久久久男人的天堂 | 私人av| 亚洲综合成人av | 久久久久久久免费 | 黄色h在线观看 | 亚洲成人资源在线 | 久久久久久久久福利 | av中文国产| 国产精品一区二区三区在线看 | 色婷婷a | 九九热在线视频 | 国产精品久久久久久久电影 | 欧美日韩精品在线免费观看 | 久久国产免费看 | 91成年视频| 911国产精品 | 在线播放你懂 | a在线v| 最近中文字幕免费视频 | 国产精品 日本 | 国产剧在线观看片 | 午夜在线免费观看 | 丁香免费视频 | 日韩 在线a | 成人永久在线 | 中文字幕在线视频网站 | av在线中文| 久久久午夜精品理论片中文字幕 | 日本三级国产 | 国内精品中文字幕 | 一区在线观看 | 国产精品一区免费看8c0m | 国产成人精品一区二区三区福利 | 久久韩国免费视频 | 日韩高清免费在线 | 91亚洲精品久久久中文字幕 | 在线精品视频免费观看 | 亚洲成人高清在线 | 天天综合天天综合 | 午夜婷婷网 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美超碰在线 | 国产在线精品一区二区不卡了 | 奇米先锋| 国内精品在线看 | 亚洲美女视频网 | 久久视频在线观看中文字幕 | 国产美女精品视频 | 久久久国产一区二区三区四区小说 | 欧美日韩大片在线观看 | 日韩无在线 | 天天做天天爱夜夜爽 | 黄色大片免费网站 | 国产69久久久 | 在线观看视频你懂的 | 国产综合激情 | 国产高清黄色 | 亚洲精品国产日韩 | 最新免费中文字幕 | 国产女人18毛片水真多18精品 | 久久免费激情视频 | 日韩av片免费在线观看 | 国产中文字幕精品 | 91手机电影| 日本中文字幕影院 | 国产女v资源在线观看 | 激情小说久久 | 超碰人人99 | 欧美激情综合五月色丁香小说 | 国产69久久精品成人看 | 丝袜美女在线观看 | 丝袜精品视频 | 久久激情日本aⅴ | 久久69av| 国产精品国产亚洲精品看不卡 | 色天天中文 | 中文字幕在线观看国产 | 色综合网在线 | 97视频免费在线看 | 久久99亚洲网美利坚合众国 | 亚洲欧洲xxxx| 激情婷婷亚洲 | 亚洲午夜av | 久久y | 91热精品 | 久久字幕网| 国产成人精品av久久 | 激情开心站 | 操操操综合 | 99热在线观看免费 | 日韩精品一区二区三区在线播放 | 中文字幕在线观看网站 | 日韩手机在线观看 | 91久久久久久久一区二区 | 日韩欧美一区二区三区在线观看 | 国产在线国偷精品产拍免费yy | 91久久国产综合精品女同国语 | 精品国产成人av在线免 | 毛片永久免费 | 免费在线观看av网站 | 青青久草在线视频 | 久久久综合电影 | 天天做天天看 | 成人av电影免费在线观看 | 99r国产精品 | 日韩欧美高清 | 亚洲黄色av网址 | 丁香六月网 | 国内一级片在线观看 | 色com| 国产视频精选 | 成人在线视频在线观看 | 国产精品岛国久久久久久久久红粉 | 亚洲国产精品电影 | 视频一区久久 | 国产视频欧美视频 | 在线观看亚洲电影 | 亚洲精品91天天久久人人 | 成年人视频在线观看免费 | 操操操干干干 | 国产69精品久久久久99尤 | 中文字幕av播放 | 国产免费久久 | 视频三区| 久久免费视频3 | 黄色com| 五月天婷婷在线观看视频 | 中国一级特黄毛片大片久久 | 91三级视频 | 国产成人久久精品一区二区三区 | 91九色最新地址 | 亚洲高清91 | 日韩毛片在线一区二区毛片 | 欧洲精品码一区二区三区免费看 | 久久久久国产成人精品亚洲午夜 | 国产一区二区精品 | 国产在线观看99 | 一二三区高清 | 亚洲成av人影院 | 韩日av在线 | 久久国产热 | 久久免费视频播放 | 91精品国产福利在线观看 | 免费成人看片 | 综合久久久久久 | 日韩精品一区二区三区三炮视频 | 午夜国产在线 | 国产精品不卡在线播放 | 一区二区日韩av | 97影视 | 成人免费看电影 | 69欧美视频 | 超碰在97| 国产尤物在线视频 | 国产精品久久久久久久久搜平片 | 色婷婷狠狠操 | 欧美影片 | av中文字幕av | www.91成人| 亚洲精品网站在线 | 特及黄色片| 国产精品美女久久久久久免费 | 一区二区三区不卡在线 | 亚洲精品视频免费看 | 久久久色 | 成人理论在线观看 | 亚洲男人天堂a | 欧美日韩在线视频一区二区 | 久久久网站 | 又黄又爽又色无遮挡免费 | 国产99久久精品一区二区永久免费 | 久久免费福利 | 在线观看成人一级片 | 日韩高清av在线 | 91精品在线观看视频 | 在线观看中文字幕第一页 | 国产精品一区久久久久 | 亚洲一一在线 | 免费日韩电影 | 热久久精品在线 | 亚洲日本欧美在线 | 精品美女在线观看 | 麻豆精品国产传媒 | 久久综合干| 在线导航av | 亚洲专区欧美专区 | 激情五月综合 | 五月婷婷激情网 | 视频在线播放国产 | 日韩中字在线 | 国产精品24小时在线观看 | 日韩乱色精品一区二区 | 国产小视频免费观看 | 成人av动漫在线观看 | 中文字幕久久亚洲 | 久久综合九色综合久99 | 综合av在线| 一区二区不卡 | 在线成人免费av | 在线观看视频在线 | 99视频精品在线 | www.久久免费视频 | 欧美天天射 | a级国产乱理论片在线观看 伊人宗合网 | 国精产品永久999 | 亚洲专区欧美 | 91九色国产在线 | 在线国产视频一区 | 五月激情电影 | 色偷偷88欧美精品久久久 | 中文字幕在线免费看 | 亚洲天堂网视频在线观看 | 精品96久久久久久中文字幕无 | 国产精品午夜在线观看 | 欧美一级在线 | 超碰97人人干 | 日韩高清一区二区 | 欧美在线视频一区二区 | 天天干天天在线 | 999热线在线观看 | 国产日韩在线视频 | 日日摸日日添日日躁av | 五月开心激情 | 黄在线免费观看 | 中文字幕 在线 一 二 | 日韩网站在线播放 | 日本大尺码专区mv | 日韩精品一区二区不卡 | 91在线视频播放 | 亚洲成年人免费网站 | 超碰人人超 | 婷婷电影在线观看 | 久久久精品高清 | 精品国产色 | av久久久 | 天天操天天色综合 | 国产精品99久久久久久人免费 | 精品99999| 国产成人精品一区一区一区 | 国产流白浆高潮在线观看 | 美女网站在线播放 | 亚洲无吗天堂 | 91黄色在线视频 | 国产精品免费久久久久久久久久中文 | 久久艹国产视频 | 亚洲欧美综合精品久久成人 | 亚洲精品免费在线视频 | 国产在线不卡一区 | a级片韩国 | 黄色大片网 | 99久久久国产免费 | 奇米网网址 | 500部大龄熟乱视频使用方法 | 国产日韩欧美在线免费观看 | 免费观看v片在线观看 | 99精品视频网 | 色综合天天天天做夜夜夜夜做 | www..com毛片| 欧美激情综合色 | 日韩一级理论片 | 国产成人精品三级 | 国产青青青| 精品女同一区二区三区在线观看 | 一区 在线 影院 | 成人国产精品久久久春色 | 人人搞人人干 | 欧美国产日韩在线视频 | 欧亚日韩精品一区二区在线 | 欧美色伊人 | 亚洲国产精品第一区二区 | 国产999| 久久99久久99久久 | 最新午夜电影 | 福利视频| 国产精品久久久久久久久久新婚 | 国产精品乱码久久久 | 黄色av播放 | 免费在线激情电影 | 日韩av影视 | 国产精品一区二区你懂的 | 日韩一区视频在线 | 97热在线观看 | 成人欧美在线 | 欧美精品小视频 | 91精品国产自产在线观看 | 黄污网站在线 | 日韩久久一区 | 狠狠色丁香婷婷综合久小说久 | 狠狠狠狠狠狠狠狠 | 精品国产亚洲一区二区麻豆 | 日本中文字幕在线一区 | 97视频在线观看视频免费视频 | 中文字幕乱码在线播放 | 99精品视频在线观看播放 | 日日夜夜网 | 一区二区三区精品在线视频 | 丁香六月久久综合狠狠色 | 久久精品这里热有精品 | 久草视频网| 天天综合区 | 在线看黄网站 | 日韩h在线观看 | 久久99国产精品视频 | 91精品国产成人www | 97爱| 日韩国产在线观看 | 国产1区在线观看 | 精品无人国产偷自产在线 | 在线看片一区 | 日韩网站一区 | 国产精品自产拍在线观看中文 | 91精品专区| 精品一区91| 色窝资源 | 日韩欧美在线综合网 | 日韩精品中文字幕在线观看 | 2019天天干天天色 | 中文字幕高清av | 久久伦理电影网 | 亚洲精品免费在线 | 在线看中文字幕 | 国产一级高清视频 | 亚洲午夜精品久久久久久久久 | 亚洲区精品 | 精品久久久久久久久中文字幕 | 毛片区 | 久久99操| 亚洲国产免费网站 | 97免费 | 波多野结衣最新 | 日韩毛片一区 | 人人干,人人爽 | 最近中文字幕免费av | 韩国中文三级 | 欧美日韩另类视频 | 色 中文字幕 | 久久久首页 | 亚洲综合成人在线 | 国产在线观看你懂的 | 国产精品永久久久久久久久久 | 婷婷深爱 | 久久久精品国产免费观看同学 | 午夜精品剧场 | 久久66热这里只有精品 | 一区二区欧美激情 | av大全免费在线观看 | 免费中文字幕在线观看 | 亚洲国产视频在线 | 国产午夜精品免费一区二区三区视频 | 天天干天天玩天天操 | 最新国产精品视频 | 美女搞黄国产视频网站 | av一区二区三区在线播放 | 1000部国产精品成人观看 | 日韩狠狠操| 九九视频精品在线 | 三日本三级少妇三级99 | www五月天com| 99久热在线精品 | 成人四虎影院 | 免费观看成人网 | 亚洲精品美女在线 | 欧美日韩精品国产 | 中文字幕黄色网址 | 一区二区三区视频网站 | 欧美一级性生活视频 | 精品欧美一区二区在线观看 | 黄色福利网站 | 欧美精品一区二区性色 | 婷婷精品国产一区二区三区日韩 | 久久久久久久久久免费视频 | 中文字幕免费高 | 国产 欧美 日产久久 | 夜夜夜草 | 日韩在线免费看 | 欧美午夜精品久久久久久孕妇 | 黄色成人免费电影 | 伊甸园永久入口www 99热 精品在线 | 99精品久久久久 | 97在线视 | 中文字幕日韩一区二区三区不卡 | 国产视频一级 | 91视频在线观看免费 | 99视频在线精品 | 午夜视频福利 | 91在线看视频免费 | 97操碰| 亚洲高清国产视频 | www.久久久.com | 久久精品99久久久久久2456 | 日韩av在线免费播放 | 2023亚洲精品国偷拍自产在线 | 久草爱 | 欧洲精品亚洲精品 | 午夜久久久久久久久久久 | 亚洲高清视频在线播放 | 国产a国产a国产a | 黄色一级在线免费观看 | 亚洲视频专区在线 | 福利视频午夜 | 国产成人久久精品 | 国产无区一区二区三麻豆 | www国产精品com | 国产精品美女免费视频 | 97av在线 | 一级大片在线观看 | 日韩精品视 | 欧美日韩精品在线免费观看 | www操操 | 中文字幕精品视频 | 国产在线a视频 | 国产免费一区二区三区最新 | 欧美性色综合网站 | 久久精品久久99 | 欧美一级久久久 | 四虎永久国产精品 | 久久精品高清 | 午夜视频福利 | 久久久久久久久久电影 | 日韩r级电影在线观看 | 99久久99久国产黄毛片 | 久久综合九色欧美综合狠狠 | 天天色.com | 亚洲成人黄色在线 | 国产精品久久久久久久久久直播 | 日日夜夜干 | 日本中文字幕网站 | 亚洲激情视频在线 | 久草在线视频首页 | 最近中文字幕mv | 91大神一区二区三区 | 国产一级视频免费看 | 婷婷精品国产一区二区三区日韩 | 日韩在线色视频 | 最近最新最好看中文视频 | 国产精品久久久久久久久久久杏吧 | 亚洲成人av在线电影 | 国产第一页在线观看 | 国产黄色一级大片 | 中文字幕精品一区二区精品 | 日韩免费成人av | 九九九九九九精品 | 中文字幕在线免费观看 | 99热国产在线观看 | 亚洲精品国偷自产在线91正片 | 久久精品久久99精品久久 | 日韩视频精品在线 | 99久久久久成人国产免费 | 精久久久久 | 在线免费国产 | 日韩欧美aaa | 欧美a√大片 | 五月天亚洲婷婷 | 亚洲精品永久免费视频 | 91麻豆精品国产91久久久久久 | 97视频资源 | 国产一区二区久久精品 | 一区二区三区四区影院 | 最新三级在线 | 麻豆传媒在线视频 | 69国产在线观看 | 亚洲国产中文字幕在线观看 | 久操视频在线播放 | 日韩四虎| 很污的网站 | 最近中文字幕完整视频高清1 | 日本特黄一级片 | 中文字幕乱码电影 | 久久不卡视频 | 久久久久高清 | 精品国产伦一区二区三区免费 | 婷婷久久国产 | 99欧美视频 | 视频一区二区三区视频 | 国产精品久99 | 久久欧美视频 | 日韩视频在线一区 | 久久综合五月天 | 中文字幕一区二区三区久久蜜桃 | 欧美日韩在线视频观看 | 成人av电影免费观看 | a视频在线播放 | 亚洲国产成人在线观看 | 日韩久久久久久久久久久久 | www.色的| 久久久久亚洲国产精品 | 国产高清av免费在线观看 | 午夜av免费在线观看 | 国产午夜一级毛片 | 欧美成人精品三级在线观看播放 | 麻豆传媒视频在线播放 | 国产精品久久久久婷婷二区次 | 99免费在线播放99久久免费 | 国产视频资源在线观看 | 黄污在线看 | 1024手机看片国产 | 久草视频看看 | 国产精品毛片一区二区在线 | 91一区啪爱嗯打偷拍欧美 | 天海翼一区二区三区免费 | 国产一区在线免费观看视频 | 亚洲精品视频播放 | 99在线观看免费视频精品观看 | 国产精品毛片一区二区 | 成人国产网址 | 国产黑丝袜在线 | 国产香蕉视频在线播放 | 在线综合 亚洲 欧美在线视频 | 97精品国产97久久久久久久久久久久 | 九九国产视频 | 欧美日韩性生活 | 国产操在线 | 五月婷丁香 | www天天干com | 欧美日韩二区在线 | 在线观看色网 | 香蕉视频4aa | 99视频+国产日韩欧美 | www.狠狠插.com | 天天操天天摸天天射 | av在线a| 国内精品久久久久国产 | 日韩在线国产精品 | 亚洲成人午夜av | 高清久久久 | 日韩欧美一区二区在线观看 | 亚洲欧美婷婷六月色综合 | 日韩视频欧美视频 | 很黄很黄的网站免费的 | 黄色免费大片 | 亚洲午夜精品一区二区三区电影院 | 国产精品视频地址 | 91九色老| 2019精品手机国产品在线 | 夜夜爱av| 亚洲精品高清视频在线观看 | av高清在线| 国产91对白在线播 | 色精品视频 | 伊人五月天 | 四虎国产精品免费 | 日本精品久久久一区二区三区 | 99国产免费网址 | 色婷婷狠狠五月综合天色拍 | 中文字幕中文字幕中文字幕 | 又黄又爽又色无遮挡免费 | 女人高潮一级片 | 久久国产精品视频观看 | www.成人久久| 亚洲日本欧美 | 欧美a级免费视频 | 2018亚洲男人天堂 | av在线网站大全 | 草免费视频 | 三级午夜片 | 热久久国产精品 | av电影不卡在线 | 81精品国产乱码久久久久久 | a v在线视频 | 日韩免费b| 五月激情天 | 色先锋av资源中文字幕 | 国产精品丝袜 | 亚洲国产精品女人久久久 | 深夜免费小视频 | 日韩欧美综合精品 | 国产精品毛片久久蜜 | 一区二区三区四区五区六区 | 97偷拍在线视频 | 97av.com| 久99久中文字幕在线 | 国产精品系列在线观看 | 久草在线免费看视频 | 欧美一级免费黄色片 | 最近中文字幕高清字幕在线视频 | 在线免费观看视频一区二区三区 | 日本三级中文字幕在线观看 | www.午夜视频 | 日本精品久久久久 | 国产精品麻豆一区二区三区 | 黄色电影网站在线观看 | 国产黄色成人 | 日韩视频中文 | 欧美日韩亚洲第一页 | 三级黄色网址 | 亚洲一区在线看 | 久久人人干 | 一区二区三区中文字幕在线观看 | 手机在线永久免费观看av片 | 久久69av| 中文在线www| 国产精品久久av | 69av视频在线观看 | 成片免费观看视频 | 婷婷精品国产欧美精品亚洲人人爽 | 亚洲欧美国产精品va在线观看 | 亚洲精品xxx | 日韩精品中文字幕久久臀 | 国产91精品看黄网站在线观看动漫 | 偷拍精偷拍精品欧洲亚洲网站 | 中文字幕免费成人 | 亚洲黄色小说网址 | 999久久久免费精品国产 | 日韩免费精品 | 在线精品视频免费播放 | 亚洲第一中文网 | 亚洲爱爱视频 | 久久精品欧美 | 国产黄色片一级 | 91九色网址 | 亚洲精品女人 | 久久久这里有精品 | 久草久热 | 在线你懂 | 日韩av图片 | 91亚洲永久精品 | 91精品秘密在线观看 | 亚洲午夜久久久久久久久久久 | 粉嫩av一区二区三区免费 | 国产精品青草综合久久久久99 | 精品色999| 日韩免费观看一区二区 | 久久亚洲免费 | 国产精品毛片久久久久久久久久99999999 | 亚洲精品在线视频播放 | 欧美日韩91 | 亚洲国产视频在线 | 狠狠操狠狠插 | 精品国产免费看 | 成年人电影免费在线观看 | 中文字幕av全部资源www中文字幕在线观看 | 最新国产视频 | 在线观看 亚洲 | 91视频啪 | 在线小视频国产 | 色婷婷狠狠操 | 婷婷久久精品 | 国产精品一区二区三区在线免费观看 | 色是在线视频 | 91爱爱视频| 一本一本久久a久久精品牛牛影视 | 中文字幕免费高清在线 | 免费大片黄在线 | 久草免费新视频 | 99在线视频免费观看 | 99热在线看 | 又黄又刺激又爽的视频 | wwwwww黄| 亚洲最新在线 | 久久国语 | 成人午夜剧场在线观看 | 国产精品美女久久久久久久 | 日产av在线播放 | 亚洲天天摸日日摸天天欢 | 精品国产一区二区三区免费 | 国产精品高清在线 | 国产精品久久久久久久久久了 | 在线看国产日韩 | 国产区第一页 | 九九在线播放 | 国产91欧美 | 黄色电影网站在线观看 | 丁香激情五月婷婷 | 在线播放 一区 | 中文字幕91在线 | 欧美在线资源 | 午夜三级影院 | 亚洲国产婷婷 | 91精品国自产在线观看 | 美女福利视频 | 国产成在线观看免费视频 | 亚洲午夜av久久乱码 | 午夜黄色 | 国产成人精品综合久久久 | 天天干天天射天天插 | 欧美日韩二区三区 | 97在线精品 | www.在线观看av | 天天色天天色天天色 | 国产xx视频| 伊人在线视频 | 色中色资源站 | 亚洲涩涩涩涩涩涩 | 黄色亚洲免费 | 日韩中文字幕免费在线播放 | 又色又爽又激情的59视频 | 高清av免费一区中文字幕 | 国产免费一区二区三区网站免费 | 国产成人精品久久亚洲高清不卡 | av东方在线| 久久夜视频 | 国产精品综合久久久久 | 美女久久久久久久久久 | 天天干人人 | 国产精品久久久久久久久久久久久 | 激情在线五月天 | 在线免费精品视频 | 中文字幕在线观看视频免费 | 91桃色免费视频 | 91社区国产高清 | 久久国产麻豆 | 狠狠地操| 成年人免费观看国产 |