萬星星@豌豆莢 歡迎加入我們
一個吃軟飯的男人!!!!!我只想寫程序####
微博:
http://weibo.com/wanlianwen
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 172, comments - 1253, trackbacks - 0
用MFC實現WebGUI--(CDHtmlDialog)
自從去年年底一次棘手的界面,開始研究用web做界面到現在大約1年,這一年間不是局限在實現層面,也并非一直研究這一個問題,有很多問題其實不是問題,只是自己沒有想清楚或者思想沒放開。對于一個界面開發人員,想必拉的對話框不少于100個,膩味不必說,光是對話框大小改變導致控件跟著變化都需要一番功夫,加上界面美觀,界面的風格統一,界面的靈活多變......,頭痛。在對話框里面加載位圖,加載gif,超鏈接......,啊,沒法控制了吧!在考慮遠點,現在.net3.0技術已經完全打破應用和桌面的界限,我們的界面html資源完全可以放在一個web站點上,這樣界面是完全動態的。
其間寫過2篇這方面的文章,基于vc6實現,繞彎很大。在vc7.1、vc8里面要簡單很多,主要是把幾個以前為公開的類公開了,最重要的是在CWnd里面加入了一個虛函數CreateControlSite使得有機會改變控件站點以修改控件行為。在mfc類層次上,CHTMLView和CDHtmlDialog為開發者提供了創建webgui的一系列基礎設施,包括事件機制、窗口行為、以及對html文檔操縱接口。我們在此基礎上實現webgui很簡單,然而仍然困惑我很久,經理也催過我幾次我一直未肯決定最終方案。在我腦袋里一直琢磨是要應用程序完全操縱html文檔,還是html訪問應用獲取信息,其實就是它們之間的通信模式。一直到昨天我才定下方案,應用通過IWebBrowser2接口操縱html元素,html通過vbscript、javascript腳本響應本身事件,訪問應用。主要是考慮通信自然暢通,而以前我一味想通過應用指令完全控制html元素,導致去解析html文檔,費力不討好。下面開始我的想法:
寫一個dll,封裝CDHtmlDialog,提供一個類似html容器的對話框,功能就是加載html網頁,以及創建與html呼應的com組件。它本身不包含與應用功能有關代碼,應用有關的部分是html頁面和對于的com功能組件。這里需要對CDHtmlDialog進行了適當的改造以適合自己的目標:
首先從CDHtmlDialog派生一個類CHTMLContainerDlg,默認情況下會生成一個網頁資源,這個網頁是這個對話框創建時加載的,我們需要的其實是一個容器而不是一個具體的對話框,所以刪除網頁資源,修改對話框頭文件:
enum?{?IDD?=?IDD_HTMLCONTAINERDLG,?IDH?=?0?};
這里把IDH修改為0,因為我們刪除了網頁資源。然而在對話框創建后會加載該資源,在CDHtmlDialog的OnInitDialog函數里面我們可以看到:
if?(m_nHtmlResID)
????????LoadFromResource(m_nHtmlResID);
????else?if?(m_szHtmlResID)
????????LoadFromResource(m_szHtmlResID);
????else?if?(m_strCurrentUrl)
????????Navigate(m_strCurrentUrl);
結果就是對話框一出現就會出現加載一個無效地址的頁面,出現無法打開鏈接的頁面,為了避免這個問題,需要重載OnInitDialog函數。其實就是拷貝mfc代碼然后去掉上面那段代碼就ok,強制不加載頁面。那么為了加載指定頁面,需要一個函數:
void?CHTMLContainerDlg::SetHtmlAndCom(CString?strURL,?CString?strProg)
{
????HRESULT????????hr????????=?NOERROR;
????m_strURL?=?strURL;
????hr?=?m_spComDisp.CoCreateInstance(strProg);
????if(FAILED(hr))
????{
????????TRACE(_T("Some?error?when?create?com?object
\n"));
????}
????SetExternalDispatch(m_spComDisp);
}
指定html的url和對應功能組件的progid,這樣在網頁里面可以通過腳本window.external訪問該com組件。
這樣就可以加載html網頁,但是html頁面里面的元素風格卻是2k風格(至少在ie7以下版本是如此),這個怕是沒起到一點美觀作用,為之我考慮了半天,問過做web的人是否有辦法,最終還是靈感光臨,誤撞上了。重載GetHostInfo函數:
STDMETHODIMP?CHTMLContainerDlg::GetHostInfo(DOCHOSTUIINFO*?pInfo)
{
????pInfo->dwFlags?=?DOCHOSTUIFLAG_THEME;
????return?S_OK;
}
這個多得不說,^_^。
下面就可以演示了,在vs2005里面找個向導來show一下:
CHTMLContainerDlg????dlg;
????TCHAR????????????????szPath[MAX_PATH]?
=
?
{?
0
?}
;
????CString????????????????strPath;
????GetCurrentDirectory(MAX_PATH,?szPath);
????strPath?
=
?szPath;
????strPath?
+=
?_T(
"
\\Default.htm
"
);
????dlg.SetHtmlAndCom(strPath,?_T(
"
TestWebCom.WebComCtrl
"
));
????dlg.DoModal();
對話框標題其實可以通過解析html文檔獲取title標題設置,目前還未處理。下面看看html與應用交互的組件。
生成一個atl工程,TestWebCom,添加一個com組件WebComCtrl,添加方法處理上面那個帶...的按鈕(文件夾瀏覽按鈕):
STDMETHODIMP?CWebComCtrl::ShowFolderBrowser(
void
)
{
????AFX_MANAGE_STATE(AfxGetStaticModuleState());
????
//
?TODO:?在此添加實現代碼
????AfxMessageBox(_T(
"
In?Com,?you?can?show?folder?select?dialog
"
));
????
return
?S_OK;
}
這里不作具體處理,只是象征性彈出一個對話框。好了,上面我們在對話框里面已經設置了com組件的progid,這里可以把html和組件關聯上了,通過腳本可以訪問com組件方法:
<
BUTTON?
CLASS
="buttonClass3Custom"
?ID
="BrowseBtn"
?TYPE
="BUTTON"
?TITLE
="瀏覽頭文件。"
?onClick
="OnBrowseHeaderFile();"
>
</
BUTTON
>
腳本如下:
function
?OnBrowseHeaderFile()
{
????window.external.ShowFolderBrowser();
}
下面運行試一試,按下選擇文件夾按鈕會出現如下詢問組件是否安全的對話框:
這個很惱人,用戶可沒有耐心忍受每次多彈出這個對話框詢問組件是否安全。我開始打算將組件實現安全接口解決掉此問題,不過不知道緣何,沒有成功,網上搜索一下好像說在ie7里面無效,沒辦法還是看mfc源碼來解決問題。
CDHtmlDialog類獲取external代碼如下:
STDMETHODIMP?CDHtmlDialog::GetExternal(IDispatch?
**
ppDispatch)
{
????
if
(ppDispatch?
==
?NULL)
????????
return
?E_POINTER;
????????
????
*
ppDispatch?
=
?NULL;
????
if
?(m_spExternalDisp.p?
&&
?CanAccessExternal())
????
{
????????m_spExternalDisp.p
->
AddRef();
????????
*
ppDispatch?
=
?m_spExternalDisp.p;
????????
return
?S_OK;
????}
????
return
?E_NOTIMPL;
}
看到CanAccessExternal函數,肯定就是驗證安全性的代碼,找到函數聲明,幸好是虛函數,重載直接返回TRUE:
BOOL?CHTMLContainerDlg::CanAccessExternal()
{
????
//
?we?trust?all?com?object?(haha,?you?can?make?virus)
????
return
?TRUE;
}
有興趣的朋友可以看下內部實現。
這下就好了,按下網頁選擇文件夾按鈕,彈出對話框:
一套流程完備,方案個人覺得不錯,各司其職,通信自然暢通,一個html配對一個com功能組件,功能組件化不僅使代碼封裝性好,而且可以用于多種語言。
由于此技術不用于公司開發,今整理提供
下載
posted on 2006-12-15 21:11
萬連文
閱讀(26023)
評論(40)
編輯
收藏
引用
所屬分類:
MFC
FeedBack:
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-19 22:40 |
noname
的確不錯. 用 html 做界面在開發效率, 擴展性等方面都很好. 正巧這兩天需要做一個程序. 界面要求比較靈活. 就試試萬兄的 idea 了.
用 WTL 做了一個 demo. 因為是第一次做這樣的應用, 先不考慮代碼復用了. 所以沒有做成 DLL. 連頁面的 ExternalDispatch 都是在程序內部實現的.
既然萬兄沒有給出源碼, 我把代碼放上來. 算是狗尾續貂把. :)
http://nicoster.googlepages.com/wtlhtml.rar
lieph $(at) 163 $(dot) com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-20 14:10 |
cooelaf
看了萬兄的blog,很贊嘆萬兄在這方面的造詣。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-25 10:51 |
shaolong
萬哥,可否把你說的這個例子代碼公開一下呢?我剛入門做嵌入html的vc項目,也是CDHTMLDialog派生的類,但不知該如何實現函數接口的對應,時間很緊,郁悶的很,謝謝了!
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-25 11:04 |
萬連文
郵件給我,我發你。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-26 23:59 |
xhl
我在VC6下曾做過WEBGUI,對你的想法很感興趣,想知道如何用com封裝功能,已經在html中怎樣調用com組件。
能把你的示例代碼發一份給我嗎?
我的郵箱hongziyue@sina.com
多謝!
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2006-12-27 00:01 |
xhl
我在VC6下曾做過WEBGUI,對你的想法很感興趣,想知道如何用com封裝功能,以及在html中怎樣調用com組件。
能把你的示例代碼發一份給我嗎?
我的郵箱hongziyue@sina.com
多謝!
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-01-28 14:04 |
xie
我是個初學者也想要一份多謝了
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-02-25 17:55 |
kukustream
很感興趣,可否將示例的源碼發給我一份,謝謝! kukuStream@hotmail.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-03-05 17:24 |
xq
萬前輩,我早就想想學學這種技術,苦于資料難找,今得遇高人。
給我一份,萬分感謝。waterdo@gmail.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-03-05 22:47 |
萬連文
看有如此多人索要代碼,實感意外。由于當時調試代碼比較凌亂外加當初是為公司開發,代碼沒有公開。現在看來公司不會采用了,可能思考方式不同。最近在搞畢業開題,過1周后我將整理代碼并公布于本頁下載。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-03-10 13:08 |
萬連文
下載文件已經提供,vs2005環境,關于其他環境本人不打算移植。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-08-15 18:44 |
lanse
我想要一份
lanse8482@sina.com.cn
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-09-05 11:35 |
我也想要一份,拜托啦
我也想要一份,拜托啦
haiminger@163.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-09-05 14:10 |
萬連文
唉,真不知該如何說了,下載就在下面,不過字有些小罷了。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-10-13 08:52 |
yefeng
我也想要一份,拜托啦 !
yefeng654321@126.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-12-03 16:12 |
Ason Jia
最近我也在弄這個,但是我有遇見一個問題,因為中間的html大小(不是文件大小,是html的寬度和高度)是會變的,所以我有想動態從html獲取大小,具體做法是,html中有一個變量來保存html大小,當html被加載的時候,就由js動態算出大小,然后我們的dialog去獲取這個大小(使用IWebBrowser2直接去查詢html中此值),然后動態調整dialog的大小以適應html的大小,但是問題也就出在這兒:html在加載的時候,經常會因為一些原因使得DOM中這個element沒有創建出來,或者此element有創建出來,但是大小卻沒有計算出來(也就是此節點有,但是value是“0”),汗~~~~~這個問題我想了很久都解決不了
不知道作者可否提供一些幫助,再次非常感謝~~~
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-12-04 10:10 |
萬連文
我的想法:
html被加載的時候,最好不要去使用html的東西,這個時候dom文檔還沒有加載完全。你需要在OnDocumentCompleted事件的時候去調用腳本,然后去修改對話框大小。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-12-04 15:04 |
Ason Jia
我也想過OnDocumentCompleted消息被觸發的時候去獲取,但是測試的時候發現,這個消息函數被觸發了,但是html還是沒有準確的計算出大小。
那你提到的在這個函數里面調用JS的方法算出大小,這個我沒去試過,其實我是不知道,汗~~~對COM不太熟悉。
但是這樣看來,好像是可行的。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-12-04 15:14 |
萬連文
我想你可能錯誤的認識了這個東西。html是沒有辦法計算大小的,它的layout依賴于web控件的大小。采取這種方法做界面,最好針對一類html頁面大小固定的功能使用一個對話框類,這樣設置對話框固定大小即可以,且對于一類對話框,功能處理也比較類似。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2007-12-05 17:38 |
Ason Jia
目前我也是比較傾向這種思路,無奈老板說,俺們的產品要做n國語言,因為語言的不同,還是你提到的控件的不同,直接造成html大小的變化,暈~~~
不過在C中調用js方法,我已經弄出來了,無奈只能在這個方向先做一番苦功先了
汗~~
實在不行,那我就只能寫死了~
謝謝老萬同學的幫忙和指點,呵呵。。。。再次感謝~
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2008-06-19 06:39 |
arthurlee
一開始以為需要自己實現active scriping的接口,看了這篇文章才知道方法如此簡單。
十分感謝!
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2008-10-13 17:58 |
阿里
實際上這并未提供active scriping的接口,而僅僅是對WebBrowser控件的額外控制,如果不用MFC可能需要用到接口IDocHostUIHandler,IDocHostUIHandler2和IDocHostShowUI。
實現自己的Active Scripting,需要用IActiveScriptSite
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)[未登錄]
2008-11-06 12:01 |
yy
您好 我也想要一份代碼看看,謝謝!
yangyong_v@163.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2008-11-10 10:28 |
萬連文
來自原子時代--您的email有問題???
很抱歉這么晚回復你,因為最近病了。首先,我對一個女孩子從事C++開發表達敬佩。說到界面開發,絕對不會是一個簡單的任務,甚至連一本真正的好的技術書籍都沒有。CDHtmlDialog是vs2003以后的sdk添加進去的,不過這個用的人也不多,但是簡單很多。我一般使用的是atl里面提供的一個窗口類ATLAXWIN_CLASS來實現的,這個在vc6里面也有。根據我的經驗,能使用html+css+JS來實現界面編程的人技術都不一般,至少對com有一些了解。對于您目前的情況,如果使用vc6開發可以考慮ATLAXWIN_CLASS這個類進行編程,依賴atl庫,跟mfc無關。具體的例子我手頭沒有,可以查閱www.codeproject.com
www.codeguru.com等技術網站。如果你自己嘗試之后還是無法得到結果,請與我聯系,我會做一個demo。因為這段時間確實病的不輕,本想順手做一個給你,但是一看電腦腦袋暈。不好意思。
總是發不出去,再試試.
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)[未登錄]
2009-02-23 16:34 |
小四
lz你好,我是謝老師同門師兄,最近也用類似的界面解決方案。
有空加我msn聊聊 cugdj@hotmail.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2009-10-27 18:07 |
鑫
你好,我想學習一下html內嵌到vc中使用,能給我發份代碼嗎?zxx8224@163.com 非常感謝
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2009-10-28 09:02 |
WXX
下載就在最后面2個字,不明白為什么那么多人看不見。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2009-12-30 09:45 |
Eleanor
你好,我最近才開始弄html嵌入mfc對話框,我想問一下我只想得到網頁的某些按鈕的鏈接地址,調用我的程序去ping它,返回一個ping通時間給網頁。我查了下網上說用IHTMLElement里的put_onclick,可是這些接口我不熟,我發現vc2005里的mshtml.h中定義了好幾個IHTMLDocument和IHTMLElement接口方便的話加下我msn:lizzywater@hotmail.com指導一下,謝謝
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2010-04-18 14:08 |
jjqcat
很感興趣,可否將示例的源碼發給我一份,謝謝!
jjqcat@gmail.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2010-08-26 10:19 |
yyk
很好。你的想法不錯。take a look!!
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2011-01-28 12:07 |
無未
最近也在考慮這個東西 不過令我很為難的是在vc6.0下 加之對com不是很了解…… 努力 關注……
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2011-07-25 19:14 |
tammy
我的怎么在DEBUG文件夾下打不開應用程序呢.
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2011-07-26 10:19 |
tammy
急....
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2011-07-26 10:19 |
tammy
程序運行起來了.但點擊瀏覽按鈕時..報錯說當前頁的腳本運行錯誤
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2011-07-26 10:23 |
萬連文
@tammy
應該是沒有注冊com組件。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2012-09-22 15:25 |
蘆葦
前輩 我是剛開始學習這方面內容的新手,您有木有這方面的資料、書籍推薦呢,跪求拜謝。聯系方式:1071932819@qq.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2013-01-30 18:02 |
云憐秀年
下載不到,打不開@noname
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2013-01-30 18:03 |
云憐秀年
我想要一份源碼
O(∩_∩)O謝謝
wywangyun1124@163.com
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2015-03-11 10:53 |
冷風X
820225092@qq.com ,求一源碼學習一下。。
回復
更多評論
#
re: 用MFC實現WebGUI--(CDHtmlDialog)
2016-07-18 15:37 |
王同林
前輩好,代碼下載之后怎么用啊?我生成的exe打開是空白的頁面,菜單新建不知道建的啥,打開一個html頁面也沒有反應,我的環境是vs2010
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
VC8中MFC集成ATL組件注冊時注意的一個問題
未來界面應該是這樣的
純技術討論com控件創建過程
界面終于出來一點拉
自己畫的好友列表
用WLWUI庫描述kugoo界面
上班半個月的總結
用MFC實現WebGUI--(CDHtmlDialog)
閑暇時間做的幾個界面
轉孫輝老師《十年MFC經歷認識的Microsoft技術》
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
簡歷下載
聯系我
<
2012年7月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(66)
給我留言
查看公開留言
查看私人留言
隨筆分類
.NET(6)
ACDK(6)
ATL(11)
MFC(29)
richedit(9)
WTL(1)
亂七八糟(61)
模板(8)
小作品(40)
隨筆檔案
2013年3月 (2)
2012年9月 (2)
2012年8月 (2)
2012年7月 (2)
2012年6月 (3)
2012年5月 (2)
2011年9月 (2)
2011年8月 (1)
2011年6月 (2)
2011年5月 (4)
2011年4月 (2)
2011年3月 (2)
2010年12月 (1)
2009年9月 (1)
2009年8月 (2)
2009年7月 (2)
2009年6月 (2)
2009年5月 (1)
2009年4月 (1)
2009年1月 (1)
2008年12月 (5)
2008年11月 (2)
2008年10月 (1)
2008年9月 (7)
2008年8月 (2)
2008年3月 (3)
2008年2月 (2)
2008年1月 (3)
2007年12月 (6)
2007年11月 (1)
2007年10月 (3)
2007年9月 (1)
2007年8月 (5)
2007年7月 (5)
2007年6月 (3)
2007年5月 (5)
2007年4月 (5)
2007年3月 (4)
2007年2月 (2)
2007年1月 (2)
2006年12月 (4)
2006年11月 (8)
2006年10月 (1)
2006年9月 (9)
2006年8月 (7)
2006年7月 (10)
2006年6月 (1)
2006年5月 (2)
2006年4月 (10)
2006年3月 (3)
2006年2月 (3)
2006年1月 (2)
2005年12月 (8)
相冊
new
個人相冊
搜索
最新評論
1.?re: 用MFC實現WebGUI--(CDHtmlDialog)
前輩好,代碼下載之后怎么用啊?我生成的exe打開是空白的頁面,菜單新建不知道建的啥,打開一個html頁面也沒有反應,我的環境是vs2010
--王同林
2.?re: 使MFC變漂亮一:MFC與Flash交互示例
能不能把Flash源文件共享一下,要不然Flash端變量不知道怎么操作
--ddd
3.?re: 甘特圖第一版本發布
你這個附件有什么功能限制?
--xrczld
4.?re: 并行編程--MPI開發入門
我是用的vs+MPICH2,用wmpiexec運行我的exe的時候,不能連接到主機是什么鬼啊。。求回復
--M琨M
5.?re: 基于Chrome開源提取的界面開發框架 三(.3)
豌豆莢非常不錯的應用
--mmocake
閱讀排行榜
1.?基于Chrome開源提取的界面開發框架開篇(32392)
2.?用MFC實現WebGUI--(CDHtmlDialog)(26023)
3.?并行編程--MPI開發入門(19187)
4.?使MFC變漂亮二:MFC與HTML交互示例(17477)
5.?FreeType2研究(16106)
評論排行榜
1.?我把初戀搞丟了(原創)(55)
2.?一個小型繪圖程序(45)
3.?并行編程--MPI開發入門(42)
4.?我得C++學習心得(41)
5.?用MFC實現WebGUI--(CDHtmlDialog)(40)
Copyright ©2025 萬連文 Powered By
博客園
模板提供:
滬江博客
2021精品国产综合久久
|
国产一级做a爰片久久毛片
|
久久精品国产99国产精偷
|
亚洲色大成网站WWW久久九九
|
久久人做人爽一区二区三区
|
久久亚洲春色中文字幕久久久
|
国产精品激情综合久久
|
久久人人爽人人爽人人片AV麻烦
|
欧美黑人又粗又大久久久
|
亚洲国产精品久久久久婷婷老年
|
久久亚洲天堂
|
国产美女久久久
|
精品国产乱码久久久久软件
|
日本久久久精品中文字幕
|
亚洲精品无码久久久久去q
|
精品国产热久久久福利
|
日韩精品久久无码中文字幕
|
久久99精品国产麻豆蜜芽
|
91精品国产91久久综合
|
亚洲中文字幕久久精品无码喷水
|
久久综合九色综合欧美狠狠
|
婷婷久久综合九色综合九七
|
亚洲一级Av无码毛片久久精品
|
久久66热人妻偷产精品9
|
欧美日韩中文字幕久久久不卡
|
99久久777色
|
婷婷久久香蕉五月综合加勒比
|
香蕉aa三级久久毛片
|
99久久精品费精品国产
|
久久亚洲春色中文字幕久久久
|
久久人妻无码中文字幕
|
久久精品无码av
|
一本伊大人香蕉久久网手机
|
久久精品国产99久久久
|
久久精品人人做人人爽97
|
伊人色综合久久天天网
|
99久久成人18免费网站
|
99久久精品国产麻豆
|
AV狠狠色丁香婷婷综合久久
|
国产精品欧美久久久久无广告
|
精品久久久久久无码专区不卡
|