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

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

?? chap10.html

?? VC編程實(shí)例(各種編程例子)
?? HTML
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>第四章 基于對(duì)話框的應(yīng)用程序</TITLE>
</HEAD>
<BODY>

<FONT FACE="黑體" LANG="ZH-CN" SIZE=5><P ALIGN="CENTER"><A NAME="_Toc425698722">第十章</FONT><FONT FACE="Arial" SIZE=5> MFC</FONT><FONT FACE="黑體" LANG="ZH-CN" SIZE=5>通用類</A></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>不僅提供了大量的用于編寫(xiě)圖形用戶界面的類,它也包含了許多通用類用于處理字符串、列表、數(shù)組、日期和時(shí)間,有了這些通用類,編寫(xiě)程序時(shí)就可以避免使用復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。例如,由于</FONT><FONT SIZE=3>MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>的數(shù)組類能夠自動(dòng)的改變大小,我們?cè)诓恢罃?shù)組維數(shù)的情況下就不必使用一個(gè)大數(shù)組,這樣就可以節(jié)約內(nèi)存,提高程序的運(yùn)行速度。</P>
<P ALIGN="JUSTIFY">本章主要涉及以下內(nèi)容:</P>

<UL>
<P ALIGN="JUSTIFY"><LI>數(shù)組類</LI></P>
<P ALIGN="JUSTIFY"><LI>列表類</LI></P>
<P ALIGN="JUSTIFY"><LI>映射類</LI></P>
<P ALIGN="JUSTIFY"><LI>字符串類</LI></P>
<P ALIGN="JUSTIFY"><LI>日期和時(shí)間類</LI></P></UL>

</FONT><FONT FACE="仿宋_GB2312" LANG="ZH-CN" SIZE=4><P ALIGN="CENTER"><A NAME="_Toc425698723">第一節(jié)</FONT><FONT SIZE=4> </FONT><FONT FACE="仿宋_GB2312" LANG="ZH-CN" SIZE=4>數(shù)組類</A></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>的數(shù)組類使你可以創(chuàng)建和操作一個(gè)實(shí)際上可以處理各種數(shù)據(jù)類型的一維數(shù)組對(duì)象。除了</FONT><FONT SIZE=3>MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>可以在運(yùn)行時(shí)動(dòng)態(tài)的增大和縮小數(shù)組對(duì)象外,這些數(shù)組對(duì)象非常象常規(guī)的數(shù)組。這也意味者在聲明數(shù)組對(duì)象時(shí)不必關(guān)心它的維數(shù)。由于</FONT><FONT SIZE=3>MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>可以動(dòng)態(tài)的變大和變小,你不必考慮使用常規(guī)數(shù)組時(shí)出現(xiàn)的內(nèi)存浪費(fèi)。使用常規(guī)數(shù)組時(shí)你必須將其定義成能夠容納所有可能需要的元素,而不管這些元素是否真的被會(huì)使用。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>的數(shù)組類包含</FONT><FONT SIZE=3>CByteArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>、</FONT><FONT SIZE=3>CDWordArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>、</FONT><FONT SIZE=3>CPtrArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>、</FONT><FONT SIZE=3>CUIntArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>、</FONT><FONT SIZE=3>CWordArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>CStringArray.</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。從這些類的名稱可以看出,每一個(gè)類都被設(shè)計(jì)成能夠處理一個(gè)特定的數(shù)據(jù)類型。例如,在本節(jié)例子中將要用到的</FONT><FONT SIZE=3>CUIntArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類是一個(gè)處理無(wú)符號(hào)整形數(shù)的數(shù)組類,而</FONT><FONT SIZE=3>CObjecArray</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類代表對(duì)象數(shù)組類。這些數(shù)組類幾乎相同,僅僅的區(qū)別在于它們儲(chǔ)存的數(shù)據(jù)類型不同。如果你學(xué)會(huì)使用其中的一種數(shù)組類的使用,你就學(xué)會(huì)了所有數(shù)組類的使用。</P>
<P ALIGN="JUSTIFY">數(shù)組類有下列成員函數(shù):</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">Add</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">在數(shù)組的最后追加一個(gè)元素,可以根據(jù)需要增大數(shù)組大小。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">ElementAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">獲得一個(gè)指向數(shù)組元素的指針</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">FreeExtra</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">釋放不用的數(shù)組內(nèi)存</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">獲取數(shù)組內(nèi)指定位置處的值</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetSize</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">獲取數(shù)組中包含的元素個(gè)數(shù)</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">GetUpperBound</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">獲取數(shù)組的上界值。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">InsertAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">在數(shù)組的指定位置處插入一個(gè)元素,后面的元素的下標(biāo)加</FONT><FONT SIZE=3>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">RemoveAll</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">刪除數(shù)組中所有的元素。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">設(shè)定數(shù)組指定位置處的值。因?yàn)橹聘锖瘮?shù)不會(huì)增加數(shù)組的大小,故這個(gè)下標(biāo)此時(shí)一定要有效。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetAtGrow</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">設(shè)定數(shù)組的指定位置處的值,可以根據(jù)需要增大數(shù)組的大小。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetSize</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()</P>
<P ALIGN="JUSTIFY">設(shè)置數(shù)組的初始大小。</P>
<P ALIGN="JUSTIFY">下面將介紹一個(gè)數(shù)組的程序,這個(gè)程序可以讓你測(cè)試一下</FONT><FONT SIZE=3>MFC</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>的數(shù)組類。</P>
<P ALIGN="JUSTIFY">首先,這個(gè)程序在</FONT><FONT SIZE=3>View</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類中聲明一個(gè)數(shù)組對(duì)象,如下:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">CUIntArray  array;</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">接著,在</FONT><FONT SIZE=3>View</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類的構(gòu)造函數(shù)中初始化數(shù)組,將其設(shè)置成包含十個(gè)元素,</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>array.SetSize(10, 5);</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">SetSize</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是數(shù)組的初始大小,第二個(gè)參數(shù)是數(shù)組元素每次增加時(shí)增加的個(gè)數(shù)。</P>
<P ALIGN="JUSTIFY">在設(shè)置完數(shù)組的大小之后,程序等待用戶在窗口中單擊鼠標(biāo)左鍵或右鍵。如果用戶這樣做了,程序?qū)@示一個(gè)合適的對(duì)話框并且處理輸入到對(duì)話框中的數(shù)據(jù)。下面的代碼是該程序的</FONT><FONT SIZE=3>OnLButtonDown</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù),用于處理用戶單擊右鍵的事件。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayView::OnLButtonDown(UINT nFlags, CPoint point) </P>
<P>{</P>
<P>    CArrayAddDlg dialog(this);</P>
<P>    dialog.m_index = 0;</P>
<P>    dialog.m_value = 0;</P>
<P>    dialog.m_radio = 0;</P>
<P>    int result = dialog.DoModal();</P>
<P>    if (result == IDOK)</P>
<P>    {</P>
<P>        if (dialog.m_radio == 0)</P>
<P>            array.SetAtGrow(dialog.m_index, dialog.m_value);</P>
<P>        else if (dialog.m_radio == 1)</P>
<P>            array.InsertAt(dialog.m_index, dialog.m_value, 1);</P>
<P>        else</P>
<P>            </P>
<P>array.Add(dialog.m_value);</P>
<P>        Invalidate();</P>
<P>    }</P>
<P>    CView::OnLButtonDown(nFlags, point);</P>
<P>}</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">這段代碼開(kāi)始先創(chuàng)建一個(gè)對(duì)話框?qū)ο蟛⒊跏蓟H绻脩暨x擇對(duì)話框的“確定”按鈕,</FONT><FONT SIZE=3>OnLButton</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)將檢查對(duì)話框的成員變量</FONT><FONT SIZE=3>m_radio</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。值為</FONT><FONT SIZE=3>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>表示第一個(gè)單選按鈕(設(shè)置)被選中,值為</FONT><FONT SIZE=3>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>表示第二個(gè)單選按鈕(插入)被選中,值為</FONT><FONT SIZE=3>2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>表示第三個(gè)單選按鈕(添加)被選中。</P>
<P ALIGN="JUSTIFY">如果用戶希望設(shè)置數(shù)組的元素,程序?qū)⒄{(diào)用</FONT><FONT SIZE=3>SetAtGrow</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù),它需要兩個(gè)參數(shù),一個(gè)是數(shù)組元素的下標(biāo)值,另一個(gè)是希望設(shè)置的值。它不象常規(guī)的</FONT><FONT SIZE=3>SetAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù),用戶必須使用當(dāng)前有效的數(shù)組下標(biāo)值。</FONT><FONT SIZE=3>SetAtGrow</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()為了設(shè)置指定位置處的值將根據(jù)需要增大數(shù)組的大小。</P>
<P ALIGN="JUSTIFY">當(dāng)用戶選擇了“插入”單選按鈕,程序?qū)⒄{(diào)用</FONT><FONT SIZE=3>InsertAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù),它需要兩個(gè)參數(shù),一個(gè)是要插入的數(shù)組元素的下標(biāo),另一個(gè)是該數(shù)組元素的值。這將在指定位置處創(chuàng)建一個(gè)新的數(shù)組元素,并將把后面的元素往后推。最后當(dāng)用戶選擇了“添加”按鈕,程序?qū)⒄{(diào)用</FONT><FONT SIZE=3>Add()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>函數(shù),這將在數(shù)組的后面添加一個(gè)元素。對(duì)</FONT><FONT SIZE=3>Invalidate</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()的調(diào)用將使程序重新顯示數(shù)據(jù)。</P>
<P ALIGN="JUSTIFY">下面的</FONT><FONT SIZE=3>OnDraw</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)讀取并顯示數(shù)組。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayView::OnDraw(CDC* pDC)</P>
<P>{</P>
<P>    CArrayDoc* pDoc = GetDocument();</P>
<P>    ASSERT_VALID(pDoc);</P>
<P>    // Get the current font's height.</P>
<P>    TEXTMETRIC textMetric;</P>
<P>    pDC-&gt;GetTextMetrics(&amp;textMetric);</P>
<P>    int fontHeight = textMetric.tmHeight;</P>
<P>    // Get the size of the array. </P>
<P>    int count = array.GetSize();</P>
<P>    int displayPos = 10;</P>
<P>    // Display the array data.</P>
<P>    </P>
<P>for (int x=0; x&lt;count; ++x)</P>
<P>    {</P>
<P>        UINT value = array.GetAt(x);</P>
<P>        char s[81];</P>
<P>        wsprintf(s, "Element %d contains the value %u.", x, value);</P>
<P>        pDC-&gt;TextOut(10, displayPos, s);</P>
<P>        displayPos += fontHeight;</P>
<P>    }</P>
<P>}</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">這里,程序首先獲得當(dāng)前字體的高度,然后程序通過(guò)調(diào)用</FONT><FONT SIZE=3>GetSize</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)獲得數(shù)組元素的個(gè)數(shù)。最后,使用數(shù)組元素的個(gè)數(shù)控制一個(gè)</FONT><FONT SIZE=3>for</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>循環(huán),調(diào)用</FONT><FONT SIZE=3>GetAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)獲得當(dāng)前下標(biāo)處的數(shù)組元素的值。為了顯示程序?qū)?shù)組元素的值轉(zhuǎn)化成字符串。</P>
<P ALIGN="JUSTIFY">程序的</FONT><FONT SIZE=3>OnRButtonDown</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)用來(lái)響應(yīng)用戶按下鼠標(biāo)右鍵的事件,此函數(shù)用來(lái)處理刪除數(shù)組元素的任務(wù)。下面是該函數(shù)的代碼:</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>void CArrayView::OnRButtonDown(UINT nFlags, CPoint point) </P>
<P>{</P>
<P>&#9;// TODO: Add your message handler code here and/or call default</P>
<P>    CArrayRemoveDlg dialog(this);</P>
<P>    dialog.m_radio= 1;</P>
<P>    dialog.m_index= 0;</P>
<P>    int result = dialog.DoModal();</P>
<P>    if (result == IDOK)</P>
<P>    {</P>
<P>        if (dialog.m_radio==0)</P>
<P>        &#9;&#9;array.RemoveAll();</P>
<P>        else</P>
<P>            array.RemoveAt(dialog.m_index);</P>
<P>        Invalidate();</P>
<P>    }</P>
<P>&#9;CView::OnRButtonDown(nFlags, point);</P>
<P>}</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">在這個(gè)函數(shù)中,當(dāng)顯示完對(duì)話框后,程序檢查對(duì)話框的成員變量</FONT><FONT SIZE=3>m_removeAll</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。如果這個(gè)值為真意味著用戶希望刪除數(shù)組中所有的元素。這種情況下,程序調(diào)用數(shù)組類的成員函數(shù)</FONT><FONT SIZE=3>RemoveAll</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()。否則,程序?qū)⒄{(diào)用</FONT><FONT SIZE=3>RemoveAt</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()刪除指定位置處的數(shù)組元素。最后調(diào)用</FONT><FONT SIZE=3>Invalidate</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>()函數(shù)刷新數(shù)據(jù)顯示。</P>
<P ALIGN="JUSTIFY">下面將介紹對(duì)話框類</FONT><FONT SIZE=3>CArrayAddDlg</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,按照下面的步驟創(chuàng)建這個(gè)對(duì)話框類。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">1.&#9;</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>創(chuàng)建如圖</FONT><FONT SIZE=3>10.1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>所示的對(duì)話框,</FONT><FONT SIZE=3>3</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>個(gè)單選按鈕的</FONT><FONT SIZE=3>ID</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>分別為</FONT><FONT SIZE=3>IDC_ADD0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>IDC_ADD1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>IDC_ADD2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
<P ALIGN="CENTER"><IMG SRC="Image292.gif" tppabs="http://166.111.167.223/computer/cai/visual_c++_5.0_programming/Image292.gif" WIDTH=247 HEIGHT=154></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P ALIGN="CENTER">圖</FONT><FONT SIZE=1>10. 1 </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1>添加元素對(duì)話框</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">2.&#9;</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在</FONT><FONT SIZE=3>ClassWizard</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中為兩個(gè)文本框映射兩個(gè)</FONT><FONT SIZE=3>UINT</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類型的變量</FONT><FONT SIZE=3>m_index</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>m_value</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">3.&#9;</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>給該對(duì)話框添加一個(gè)</FONT><FONT SIZE=3>UINT</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>類型的成員變量</FONT><FONT SIZE=3>m_radio</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">4.&#9;</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>為</FONT><FONT SIZE=3>WM_INITDIALOG</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>添加函數(shù)</FONT><FONT SIZE=3>OnInitDialog()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,在其中設(shè)置單選按鈕的初始狀態(tài)。</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=1><P>BOOL CArrayAddDlg::OnInitDialog() </P>
<P>{</P>
<P>&#9;CDialog::OnInitDialog();</P>
<P>&#9;</P>
<P>&#9;// TODO: Add extra initialization here</P>
<P>&#9;((CButton*)GetDlgItem(IDC_ADD0))-&gt;SetCheck(1);</P>
<P>&#9;return TRUE;  // return TRUE unless you set the focus to a control</P>
<P>&#9;              // EXCEPTION: OCX Property Pages should return FALSE</P>
<P>}</P>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产综合精品女国产盗摄| 激情国产一区二区| 国产欧美一区二区精品忘忧草| 欧美一区二区三区四区视频| 欧美午夜影院一区| 欧美日韩国产123区| 欧美日韩和欧美的一区二区| 欧美美女激情18p| 91精品国产91久久综合桃花| 91精品国产综合久久福利| 91精品国产欧美日韩| 日韩色视频在线观看| 精品国产伦一区二区三区观看体验| 精品对白一区国产伦| 国产肉丝袜一区二区| 中文字幕高清不卡| 一区2区3区在线看| 日韩中文字幕亚洲一区二区va在线| 天堂在线一区二区| 精品一区二区精品| 不卡影院免费观看| 欧美日韩一区二区三区四区| 欧美一级黄色录像| 国产欧美日韩在线视频| 亚洲一区二区三区四区在线 | 日本视频在线一区| 开心九九激情九九欧美日韩精美视频电影 | 亚洲国产日韩综合久久精品| 日韩精品欧美精品| 国产91色综合久久免费分享| 在线日韩av片| 亚洲精品在线电影| 亚洲精品免费电影| 美女视频黄 久久| 91在线视频18| 欧美va日韩va| 樱花影视一区二区| 国产麻豆精品久久一二三| 91精品福利视频| 精品国产百合女同互慰| 一区二区三区精品在线观看| 国产一区二区精品久久91| 色88888久久久久久影院按摩| 欧美mv和日韩mv国产网站| 亚洲黄色录像片| 国产v综合v亚洲欧| 欧美日韩一区二区三区免费看 | 91精品国产综合久久精品 | 国产日本欧洲亚洲| 天天射综合影视| 91影视在线播放| 久久免费美女视频| 免费看精品久久片| 欧美日韩aaa| 1区2区3区国产精品| 国产资源在线一区| 日韩一二在线观看| 亚洲成人在线观看视频| 91浏览器在线视频| ...av二区三区久久精品| 国产成人在线观看免费网站| 精品日韩欧美一区二区| 日本不卡一区二区三区高清视频| 色猫猫国产区一区二在线视频| 亚洲国产成人私人影院tom| 久久99精品久久久| 日韩欧美成人激情| 欧美96一区二区免费视频| 欧美日韩二区三区| 天天影视涩香欲综合网| 欧美精品久久一区| 日韩和欧美一区二区三区| 在线播放国产精品二区一二区四区| 一区二区三区中文字幕电影| 日本韩国欧美国产| 亚洲尤物视频在线| 色天使久久综合网天天| 亚洲欧洲国产专区| 一本高清dvd不卡在线观看| 自拍偷拍欧美精品| 99精品视频中文字幕| 成人欧美一区二区三区白人| 99久久免费国产| 一区二区视频免费在线观看| 欧洲视频一区二区| 亚洲人成7777| 亚洲三级在线免费观看| 亚洲国产高清aⅴ视频| 免费高清在线视频一区·| 欧美日本在线视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 制服丝袜中文字幕一区| 麻豆高清免费国产一区| 2021中文字幕一区亚洲| 懂色av一区二区三区免费观看| 国产精品久久久久一区| 色综合天天做天天爱| 亚洲丶国产丶欧美一区二区三区| 欧美一区二区成人6969| 国产一区二区成人久久免费影院 | 亚洲成a人v欧美综合天堂| 8x福利精品第一导航| 国产美女在线精品| ...av二区三区久久精品| 91国内精品野花午夜精品| 久久不见久久见免费视频7| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产欧美日本一区视频| 色婷婷综合久久久中文字幕| 青青青伊人色综合久久| 中文文精品字幕一区二区| 欧美日韩一区二区三区四区| 国产精一品亚洲二区在线视频| 亚洲精品国产精华液| 日韩久久久精品| 欧洲一区在线观看| 国产宾馆实践打屁股91| 青娱乐精品视频| 亚洲综合色区另类av| www激情久久| 欧美高清性hdvideosex| 91在线观看成人| 国产乱码精品一区二区三区忘忧草 | 中文字幕日韩一区| 精品国产免费一区二区三区香蕉| 色欧美片视频在线观看在线视频| 国产一区999| 天天综合网天天综合色| 亚洲女同一区二区| 亚洲激情一二三区| 国产午夜一区二区三区| 欧美一区二区三区在| 欧美日韩在线播| 一本在线高清不卡dvd| 成人性视频网站| 国产伦精品一区二区三区免费迷| 天堂在线亚洲视频| 亚洲观看高清完整版在线观看| 自拍偷拍国产精品| 国产精品家庭影院| 中文幕一区二区三区久久蜜桃| xnxx国产精品| 国产午夜精品一区二区三区嫩草 | 精品日韩一区二区三区| 欧美一区二区三区日韩| 欧美天堂亚洲电影院在线播放| 94-欧美-setu| 99re66热这里只有精品3直播 | 久久久国产精华| 精品国产乱码久久久久久久| 日韩视频一区二区三区| 日韩一级完整毛片| 日韩一区二区在线免费观看| 日韩一级精品视频在线观看| 7777精品久久久大香线蕉| 欧美剧情片在线观看| 欧美一区二区三区在线电影| 欧美一级精品大片| 久久久久久久久久久黄色| 国产欧美精品国产国产专区| 欧美激情一区三区| 亚洲欧洲日韩女同| 亚洲午夜免费电影| 日本美女视频一区二区| 久国产精品韩国三级视频| 国产精品一区二区不卡| 99久久精品国产一区| 色94色欧美sute亚洲13| 69堂精品视频| 精品日韩一区二区三区| 国产精品午夜春色av| 一区二区三区四区在线免费观看| 亚洲一区二区综合| 久久99精品国产.久久久久久| 国产一本一道久久香蕉| 色综合久久中文字幕综合网| 欧美吻胸吃奶大尺度电影| 日韩一区二区三区在线| 久久久综合视频| 亚洲柠檬福利资源导航| 天天色天天操综合| 高清国产一区二区| 欧美性猛交xxxx乱大交退制版 | 亚洲国产精品欧美一二99| 久久99日本精品| 99re视频这里只有精品| 欧美一区二区三区影视| 国产精品国产三级国产aⅴ入口| 亚洲高清免费一级二级三级| 国产综合久久久久久久久久久久| 成人黄色777网| 精品黑人一区二区三区久久| 亚洲天堂av老司机| 韩日av一区二区| 欧美网站一区二区| 国产精品视频一二三区| 美女一区二区在线观看| 在线亚洲欧美专区二区| 国产性做久久久久久| 蜜臀av一区二区在线免费观看|