青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 14, comments - 4, trackbacks - 0, articles - 0

VC++下關于工具條的設計

Posted on 2006-07-06 19:03 will 閱讀(2338) 評論(0)  編輯 收藏 引用 所屬分類: 技術探索
在VC++下實現高彩色工具條

  引言

  一些Windows系統自帶程序如資源管理器、Internet Explorer等程序的工具條看上去和其他一些程序的工具條不太一樣,在顏色上要漂亮許多。其實這些程序的工具條上的圖標均為256色,而普通應用程序 在工具欄上所顯示圖標的顏色通常只有16色,這就決定了后者在視覺上遠沒有前者美觀。由于Windows隨系統而帶的程序也是由開發人員編寫的應用程序, 這就說明通過程序編碼可以實現256色甚至更多色彩的圖標在工具欄上的顯示。為此筆者經過摸索,通過MFC編程在應用程序中實現了高彩色工具條。現將實現 的主要方法介紹如下,以饗廣大讀者。

  基本設計思路

  在實現高彩色工具條之前,先研究一下普通16色的工具條的實現過程,并從中總結出改進方法。在VC的資源視圖中工具條是一個資源名為 IDR_MAINFRAME的Toolbar型資源,并可通過在編輯按鈕上的圖標來完成工具條上圖標的繪制。雖然在資源視圖中工具條上各按鈕的圖標是相互 獨立的,但在存儲時并非像圖標一樣保存為ico格式文件而是以bmp位圖格式保存在磁盤上的。該位圖是一個由工具條上的按鈕圖標組成的長條型位圖圖像,中 間沒有任何縫隙,在程序運行和在資源視圖對工具條進行編輯時該圖像首先裝載到一個圖像列表中,然后工具欄根據索引依次從圖像列表中將圖像顯示到工具條的各 個按鈕上。由于VC限制工具欄上的圖標不能超出16色,因此不論是在資源視圖直接編輯位圖還是用復制粘貼等手段均無法獲取超出256色的工具條(注:用復 制粘貼的方法雖然在編輯視圖中可以暫時顯示出256色的圖標,但在程序運行時仍會退化成16色)。

  由于不能在資源視圖中通過編輯Toolbar資源實現16色以上的圖標,加之工具條在顯示時有并不直接從Toolbar獲取圖標而是從圖像列表中讀 取,因此可以通過其他一些圖像處理軟件做好類似于工具條的bmp圖像(僅顏色比普通工具條bmp圖像豐富,其余完全一樣),并以位圖的形式加入到程序資 源。在使用時,先將其讀取到圖像列表,這樣圖像列表中用于顯示到工具條上的圖標的顏色就可以是256、24位、甚至32位色的了。由于工具條缺省時將直接 加載資源名為IDR_MAINFRAME的Toolbar型資源作為圖標的來源,因此還必須通過SetImageList()函數將含有高彩色工具條位圖 的圖像列表指定為工具條的圖標來源。

  真彩工具條的實現

  由于工具條的創建是在主框架類的OnCreate()函數中完成的,因此高彩色圖像的裝載和圖像列表的替換工作必須也在此進行。在進行程序設計之前, 需要做好各種準備工作,比如高彩色工具條位圖的繪制、高彩色位圖加入到資源等。繪制工具條位圖時,必須控制好圖像的尺寸,如需要有N個邊長為 M的圖標,那么需要繪制的位圖尺寸為長=N*M;寬=M。真彩位圖在加入到工程之后就不能再在VC的資源視圖中進行編輯了。由于這個彩色位圖僅起到美化界 面的作用,因此具體對的事件響應等工作還要通過設置原有的Toolbar資源來完成。

  準備工作就緒后,先要把工具條位圖裝載到圖像列表,這樣才能被工具條做獲取。在作這一步時,必須用::LoadImage()函數去加載工具條位圖,并通過宏MAKEINTRESOURCE()來指定具體要加載哪一個資源位圖:

HBITMAP hbm = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_TOOLBAR), //加載IDB_TOOLBAR
IMAGE_BITMAP, //按位圖格式
0,0, // cx,cy
LR_CREATEDIBSECTION | LR_LOADMAP3DCOLORS );

LoadImage返回一個位圖句柄HBITMAP,但在MFC下使用CBitmaps會更加方便,可創建一個
CBitmap對象并用Attach()成員函數將它與位圖句柄聯系起來:

CBitmap bm;
bm.Attach(hbm);

  MFC加載工具欄位圖時使用了一個內部函數AfxLoadSysColorBitmap()將缺省顏色設定為16色,因此為了顯示16色以上的圖像,必須在調用圖像列表類CImageList的Create()函數創建圖像列表時對圖像清單做進一步的處理:

m_ilToolBar.Create(32,32,ILC_COLOR8, 4, 4);
m_ilToolBar.Add(&bm,(CBitmap*)NULL);

  這里用ILC_COLOR8標明了創建的圖像列表是256色的,在VC的commctrl.h中對其有定義,并且還提供有其他幾種顏色位深度的預定義:

#define ILC_COLOR4 0x0004 //16色
#define ILC_COLOR8 0x0008 //256色
#define ILC_COLOR16 0x0010 //16位色
#define ILC_COLOR24 0x0018 //24位色
#define ILC_COLOR32 0x0020 //32位色

  如果使用的工具條位圖只有256色(對于多數程序這樣已經足夠),則顯然沒有必要再使用更高級別的位深度定義。最后一步,也是最關鍵的一步,必須通過 SetImageList()函數指定工具條m_wndToolBar的圖標來源不再是原來缺省的圖像列表而是含有高彩色位圖的圖像列表 m_ilToolBar:

m_wndToolBar.GetToolBarCtrl().SetImageList(&m_ilToolBar);

  到此為止就可以通過MFC在自己編寫的程序中實現類似于IE等軟件的漂亮的工具條了。下圖就是筆者用上述方法得到的程序界面:



  小結

  本文通過對作為工具條圖標來源的圖像列表的替換,實現了在普通MFC應用程序中具備了以往只有Windows系統自帶程序才具備的高彩色工具條。較好 地美化了程序的界面。本文程序在Windows 98下,由Microsoft Visual C++ 6.0編譯通過。


用VC制作非??岬墓ぞ邨l

  自微軟推出Windows 95后,一大批全新的控件使我們的應用程序更加美觀,使用也更加方便。其中一個顯著的變化就是工具條不再是一個突出的3D小方框,而是變成了平面的狀態,但 是只要把鼠標移動到上面,它就會自動地浮出來,大大方便了用戶。

  筆者經過一段時間摸索,終于找到了制作這種工具條的方法。原來Windows 95封裝了許多常用的控件,大都被放在Comctrl32.dll中,其中Toolbar控件是用于制作工具條的。下面 簡要介紹一下如何在VC5.0中添加一個Toolbar。

  眾所周知,所有的控件都是某一類型的窗口,所以制作Toolbar也要從制作窗口開始。由于MFC的Toolbar類并不支持新的功能,所以我們只好用SDK方法,通過API調用來完成整個過程 ,該過程與制作一個傳統的工具條類似。

  Toolbar是屬于comctrl32.dll的擴展功能,所以要先調用InitCommonControlsEx()的函 數。該函數有一個重要的參數決定了對Toolbar的支持,它的主要作用是注冊Toolbar窗口,以 便在以后的程序中制作這種窗口,而普通的工具條則要調用InitCommandControls()。需要注意的是這兩個函數的寫法。

INITCOMMONCONTROLSEX icex;
DWORD dwStyle;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);

//注意下面這兩個參數決定了是否注冊Toolbar

icex.dwICC=ICC_COOL_CLASSES|ICC_BAR_ CLASSES;
InitCommonControlsEx(&icex);



  然后就可以調用CreateWindowEx這個函數來建立Toolbar窗口:

HWND hwndTB = CreateWindowEx(
WS_EX_TOOLWINDOW, //擴展工具條風格
TOOLBARCLASSNAME, //Toolbar類名
NULL,
WS_CHILD|WS_VISIBLE|TBSTYLE_FLAT, //窗口風格
0,0,0,0, //大小
AfxGetApp()->GetMainWnd(), //父窗口名
NULL,
AfxGetInstanceHandle(), //實例
NULL);



  判斷一下窗口句柄,如果不為空,就表示窗口建立成功。此時的Toolbar不過是一個空空的窗口,我們可以根據需要向里面添加按鈕。向Toolbar 中添加按鈕是通過向它發送消息來 實現的,以下過程與制作傳統的工具條基本一致。首先,建立一個ImageList控件,然后通過定義按鈕的數據結構來確定每個按鈕的類型。
// 建立一個Imagelist 控件,

HWND himl;
//MYICON_CX,MYICON_CY是每個按鈕的大小
himl= ImageList_Create(MYICON_CX,MYICON_CY,ILC_COLOR4,0,4);

//加入事先作好的工具條位圖IDB_BITMAP2
ImageList_Add( himl,
LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP2)),NULL);

//通過消息把位圖加入到Toolbar中
SendMessage(hwndTB, TB_SETIMAGELIST, 0, (LPARAM)himl);

  下面加入5個普通的按鈕:

TBBUTTON tbArray[5]; //按鈕的數據結構
for(i=0;i<5;i++)
{
tbArray[i].iBitmap = i; //第i個位圖
tbArray[i].idCommand = IDM_BUTTONSTART+i;
//命令ID
tbArray[i].fsState = TBSTATE_ENABLED;
tbArray[i].fsStyle = TBSTYLE_BUTTON;
//按鈕風格
tbArray[i].dwData = 0;
tbArray[i].iString = i; //顯示的字符串
}

//設置按鈕結構的大小

::SendMessage(hwndTB,TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
//添加按鈕到Toolbar中
::SendMessage(hwndTB,TB_ADDBUTTONS,(UINT)5, (LPARAM)tbArray);



  至此,一個很酷的工具條基本上制作完成,最后再調用函數ShowWindow()即可: ShowWindow(hwndTB, SW_SHOWMAXIMIZED);

  當點擊按鈕時,Toolbar就把消息傳送到父窗口中,由父窗口響應消息。Toolbar中按鈕的ID包含在消息函數的wParam參數中,可以設置 它來調度不同的模塊。這時可以重載父窗口的O nCommand()函數,根據wParam參數判斷點擊了哪個按鈕。假定父窗口是主窗口框架,代碼如下:

BOOL CMainFrame::OnCommand(WPARAM wParam,LPARAM lParam)
{
switch(wParam)
{
case IDM_BUTTONSTART+0:
AfxMessageBox(“你點中了第一個按鈕!!", MB_ICONINFORMATION);
break;
case IDM_BUTTONSTART+1:
AfxMessageBox(“你點中了第二個按鈕!!",MB_ICONINFORMATION);
break;
case IDM_BUTTONSTART+2:
AfxMessageBox(“你點中了第三個按鈕!!", MB_ICONINFORMATION);
break;
}
return CMainFrame::OnCommand(wParam,lParam);
}

Visual C++ 版本6中工具條的新特色

Dave Schmi


  微軟在www.microsoft.com/visualc已經推出Visual C++6.0預覽版幾個月了。正式版預計到今年年底發布。同時,預覽版顯示出版本6將包含大量的改進和提高,包括支持Internet控件,例如扁平工具 條等。雖然改進的控件包與Internet無關,但它首先出現在Internet Explorer中,因此它就被取做這個名字了。事實上,官方發布的預覽版的標題是“針對Internet Explorer 4.0的Visual C++ 5.0技術預覽”。

  在以前關于MFC工具條類的討論專題中,我曾答應提供一個在版本6中工具條的外觀演示。有一個很好的消息,那就是你現在用CToolBar所作的所有 工作在新的版本中都是有效的,包括那些在以前的欄目中所描述的一些擴展功能。因此,你將很容易修改現存的程序以獲得象Internet Explorer和Visual Studio中那樣“酷”的界面。此外,并沒有什么壞消息。

工具條的新特色

  早在版本4中,CToolBar就已被MFC庫完全實現了。一旦公用控件動態鏈接庫(命名為comctl32.dll)變得無所不在了, CToolBar就成了如今已包含在操作系統中的工具條控件的代名詞了。然而,CToolBar并沒有揭示公用工具條控件的所有能力。如今,通過 CreateEx()函數,它成功了。

  公用控件動態鏈接庫現在包含了至少三類風格:最初的、在Internet Explorer3.0中加入的以及在Internet Explorer 4.0中加入的。雖然這些版本理論上是向下兼容的,但某些專業人員曾寫出一些不能在后來版本中正常運行的應用程序,這可能是這些程序采用了一些沒有公開的 功能,而這些功能并沒有被包含在所有的版本中。

  Visual C++程序員沒有這樣的經歷,因為在Visual C++4.0或5.0中comctl32.dll并不是一個可以再分發的組件,它在安裝Internet Explorer時被更新,因此MFC程序員無法依靠最新版本的某些功能來用于他們的程序。這就是CToolBar僅僅具有最初的DLL的有限功能的原 因。CToolBar能夠實現最新的特色意味著微軟將在Visual C++6.0中包含最新的DLL并將其作為一個可以再分發的組件。

  絕大多數新特色將由在調用CreateEx()和其它CToolBar成員函數時指定的新的風格標志來確定。下面是commctrl.h的一部分,它定義了TBSTYLE類標識符:


#define TBSTYLE_BUTTON 0x0000
#define TBSTYLE_SEP 0x0001
#define TBSTYLE_CHECK 0x0002
#define TBSTYLE_GROUP 0x0004
#define TBSTYLE_CHECKGROU TBSTYLE_GROUP | TBSTYLE_CHECK)
#if (_WIN32_IE $#@62;= 0x0300)
  #define TBSTYLE_DROPDOWN 0x0008
#endif
#if (_WIN32_IE $#@62;= 0x0400)
  #define TBSTYLE_AUTOSIZE 0x0010
  #define TBSTYLE_NOPREFIX 0x0020
#endif

#define TBSTYLE_TOOLTIPS 0x0100
#define TBSTYLE_WRAPABLE 0x0200
#define TBSTYLE_ALTDRAG 0x0400
#if (_WIN32_IE $#@62;= 0x0300)
  #define TBSTYLE_FLAT 0x0800
  #define TBSTYLE_LIST 0x1000
  #define TBSTYLE_CUSTOMERASE 0x2000
#endif
#if (_WIN32_IE $#@62;= 0x0400)
  #define TBSTYLE_REGISTERDROP 0x4000
  #define TBSTYLE_TRANSPARENT 0x8000
  #define TBSTYLE_EX_DRAWDDARROWS 0x00000001
#endif



  你會注意到其中的一些采用了條件編譯,依賴于_WIN32_IE的值,它缺省指的是Internet Explorer 4.0(即取值為0x0400)。對于Internet Explorer 3.0(即取值為0x0300)以前的版本,大多數的TBSTYLE標識符指的是按鈕或是一組按鈕。Internet Explorer3.0引入了扁平鈕、文本標簽、下拉列表和自定義繪制。Internet Explorer 4.0增強了下拉列表和自定義繪制功能,并且增加了支持OLE拖動目標到一個工具條。

扁平鈕和把手

  在過去的18個月中我常常被問及該如何獲得象Internet Explorer和Visual Studio中的工具條一樣不使用浮雕按鈕而是用扁平鈕并且帶有便于移動和定位的把手那樣酷的界面。這些特色并不被MFC所支持,因此最簡單獲取的方法就 是購買一個擴展庫。而對于Visual C++ 6.0來說卻無須多此一舉,因為它使得CToolBar類實現了對扁平鈕、把手和其它新的視覺效果的支持。

  在預覽版中,AppWizard并不會自動包括這些新特色,但它們卻很容易被加入。表1顯示了AppWizard創建的主框架窗口的OnCreate ()函數,表2顯示了需要做哪些修改以獲得具有扁平鈕和把手的工具條。圖1顯示了表1創建出的工具條,而圖2顯示出了表2實現的工具條。


表 1: CMainFrame::OnCreate as generated by AppWizard
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
  return -1;

if(!m_wndToolBar.Create(this)||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  {
   TRACE0("Failed to create toolbar\n");
   return -1; // fail to create
  }

if(!m_wndStatusBar.Create(this) ||
  !m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)))
  圖1
表2: Adding flat buttons and the gripper
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if(CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
  return -1;

if(!m_wndToolBar.CreateEx(this)||!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  {
   TRACE0("Failed to create toolbar\n");
   return -1; // fail to create
  }

if(!m_wndStatusBar.Create(this)||!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}

// TODO: Remove this if you dont want tool tips or a resizeable toolbar
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
CBRS_GRIPPER | CBRS_BORDER_3D | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

// TODO: Delete these three lines if you dont want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);

return 0;
}
圖2

  為了作出扁平按鈕我必須使用CreateEx()來代替Create()。這個新的函數在afxext.h中聲明:

BOOL CreateEx
(
CWnd* pParentWnd, // parent window
DWORD dwCtrlStyle = TBSTYLE_FLAT, // extended style
DWORD dwStyle = // style
WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect(0,0,0,0), // border rectangle
UINT nID = AFX_IDW_TOOLBAR // identifier
);


  因為擴展風格缺省指的就是TBSTYLE_FLAT,因此我要得到扁平按鈕就只需要簡單地將AppWizard形成的代碼中的Create()改為 CreateEx()即可。我將在后面實現其它的擴展風格。為了獲得把手,我必須在調用SetBarStyle()函數時包含CBRS_GRIPPER標 志,參看表2。這是CControlBar類的一個新風格,而CToolBar類是從它繼承而來的。請注意到我也加入了CBRS_BORDER_3D標 志,這是為了修正一個未知的繪制問題,該問題將會在工具條的邊緣繪制一些多余的點。這也許意味著預覽版確實有這個問題,因為一旦我將3D標志加入就立即解 決了并且也似乎沒有影響到別的什么。

  上面所作的兩個簡單的改變是使得一個已存程序獲得酷界面的最省力的方法。在一個程序具有了扁平鈕和把手的同時,它也不會發生不應有的其它改變。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美大胆a视频| 欧美一区日本一区韩国一区| 亚洲精品国产精品国自产观看| 欧美日韩亚洲视频一区| 久久乐国产精品| 欧美成人免费全部观看天天性色| 久久激情五月激情| 久久一区激情| 欧美精品观看| 国产精品高清在线| 亚洲欧洲日韩在线| 免费看的黄色欧美网站| 亚洲每日更新| 久久久久欧美精品| 欧美精品1区| 国产日韩欧美电影在线观看| 影音先锋在线一区| 欧美一区二区三区免费观看 | 亚洲一区二区三区精品动漫| 香蕉乱码成人久久天堂爱免费 | 欧美激情精品久久久久久蜜臀| 欧美日韩国语| 亚洲日韩中文字幕在线播放| 麻豆91精品| 国色天香一区二区| 欧美一区二区三区日韩| 亚洲日本欧美日韩高观看| 久久成人人人人精品欧| 国产精品www.| 欧美亚洲在线播放| 99精品视频一区二区三区| 免费成人网www| 亚洲精品欧美激情| 欧美成人视屏| 欧美电影在线观看完整版| 亚洲黄色成人| 国产精品v片在线观看不卡| 亚洲伊人观看| 久久国产福利| 亚洲国产va精品久久久不卡综合| 久久久久久久一区二区三区| 欧美一级久久| 亚洲国产成人av在线| 最近看过的日韩成人| 欧美日韩美女一区二区| 欧美一区二区日韩| 久久婷婷蜜乳一本欲蜜臀| 亚洲成人在线网站| 亚洲最新在线| 国产一区在线看| 欧美激情一区二区三区蜜桃视频| 欧美精品综合| 久久久久久成人| 欧美日韩一区国产| 久久人人爽人人爽| 国产伦精品一区二区三区高清版 | 欧美精品一卡| 欧美一区二区视频免费观看| 免费久久精品视频| 香蕉久久夜色精品| 久久躁狠狠躁夜夜爽| 在线视频精品一| 久久精品视频免费播放| 亚洲一级片在线观看| 久久一区视频| 久久不射中文字幕| 欧美视频精品在线观看| 亚洲韩国日本中文字幕| 一本久久综合亚洲鲁鲁五月天| 国产精品视频最多的网站| 亚洲精品在线视频| 这里只有视频精品| 欧美日韩亚洲一区二区三区在线观看 | 亚洲精品欧洲| 欧美黑人多人双交| 欧美激情一区二区三区全黄 | 欧美国产国产综合| 一区二区三区福利| 99xxxx成人网| 国产精品毛片在线看| 亚洲午夜小视频| 久久九九国产| 国产综合激情| 欧美国产日本在线| 亚洲精品久久久蜜桃 | 亚洲婷婷在线| 久久岛国电影| 亚洲国产成人av好男人在线观看| 久久综合99re88久久爱| 欧美日韩亚洲天堂| 亚洲欧美偷拍卡通变态| 蜜桃久久av一区| 亚洲新中文字幕| 一区二区三区自拍| 欧美视频日韩视频| 欧美大秀在线观看| 亚洲一区二区三区视频播放| 欧美成人免费va影院高清| 亚洲视频一起| 91久久中文字幕| 韩国一区二区三区在线观看| 欧美日韩成人免费| 欧美精品三级| 欧美高清视频在线| 久久久久成人精品免费播放动漫| 亚洲天堂成人在线视频| 国产精品久久久久999| 欧美精品一区二区在线观看| 亚洲欧美国产日韩天堂区| 亚洲狠狠婷婷| 亚洲福利在线观看| 欧美黄色视屏| 亚洲高清不卡av| 亚洲国产成人高清精品| 欧美激情综合| 亚洲国产第一| 日韩亚洲不卡在线| 午夜精品久久久久久久99水蜜桃| 亚洲一区二区三区精品动漫| 亚洲精品中文字幕女同| 一区二区三区久久| 午夜精品视频| 欧美日韩另类视频| 欧美女同视频| 国产欧美亚洲一区| 在线观看日韩精品| 一区二区三区日韩精品视频| 欧美在线视频观看免费网站| 欧美在线一级va免费观看| 久久久亚洲一区| 欧美国产一区二区| 亚洲欧美日韩在线高清直播| 欧美综合国产| 欧美日韩国产在线观看| 国产亚洲精品bt天堂精选| 亚洲日本中文字幕免费在线不卡| 先锋亚洲精品| 亚洲精品在线视频| 老司机aⅴ在线精品导航| 欧美大成色www永久网站婷| 国产精品大全| 亚洲区欧美区| 裸体歌舞表演一区二区| 午夜精品影院| 国产精品久久久久国产精品日日| 亚洲高清不卡在线| 久久夜色精品国产噜噜av| 日韩视频永久免费| 免费视频亚洲| 免费中文日韩| 日韩视频免费大全中文字幕| 男同欧美伦乱| 麻豆国产精品777777在线| 一区一区视频| 欧美大片91| 欧美不卡视频| 一区二区三区久久网| 日韩亚洲欧美成人| 国产精品自拍视频| 模特精品在线| 欧美高清视频在线观看| 亚洲视频久久| 亚洲欧美日韩一区二区三区在线观看| 国产精品久久久久91| 久久精品成人| 欧美激情国产日韩| 欧美精品自拍| 久久久99国产精品免费| 午夜视频在线观看一区| 久久久久久久久综合| 99riav1国产精品视频| 在线中文字幕日韩| 国精品一区二区| 一个色综合av| 在线国产日韩| 亚洲宅男天堂在线观看无病毒| 国内久久精品| 亚洲视频狠狠| 亚洲精品中文字幕在线| 亚洲视频中文字幕| 亚洲精品美女久久久久| 久久婷婷蜜乳一本欲蜜臀| 欧美在线视频不卡| 国产精品国产精品国产专区不蜜| 蜜桃伊人久久| 亚洲国产毛片完整版| 久久免费高清| 免费亚洲一区二区| 91久久精品国产91性色tv| 久久精品一区二区| 美女露胸一区二区三区| 亚洲国产精品久久久久秋霞影院 | 欧美三级网址| 99精品国产福利在线观看免费| 尤物九九久久国产精品的分类| 久久精品一二三区| 亚洲欧洲日韩综合二区| 午夜视频在线观看一区二区三区| 欧美日韩亚洲另类| 久久久久久网址|