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

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

?? gridctrl.h

?? 收錄《Visual C++ 編程技巧典型案例解析——圖形圖像處理與數(shù)據(jù)庫(kù)篇》 中43個(gè)源代碼。
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/////////////////////////////////////////////////////////////////////////////
// GridCtrl.h : header file
//
// MFC Grid Control - main header
//
// Written by Chris Maunder <cmaunder@mail.com>
// Copyright (c) 1998-2000. All Rights Reserved.
//
// This code may be used in compiled form in any way you desire. This
// file may be redistributed unmodified by any means PROVIDING it is 
// not sold for profit without the authors written consent, and 
// providing that this notice and the authors name and all copyright 
// notices remains intact. 
//
// An email letting me know how you are using it would be nice as well. 
//
// This file is provided "as is" with no expressed or implied warranty.
// The author accepts no liability for any damage/loss of business that
// this product may cause.
//
// For use with CGridCtrl v2.10
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GRIDCTRL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_)
#define AFX_GRIDCTRL_H__519FA702_722C_11D1_ABBA_00A0243D1382__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

//#define GRIDCONTROL_NO_TITLETIPS   // Do not use titletips for cells with large data
//#define GRIDCONTROL_NO_DRAGDROP    // Do not use OLE drag and drop
//#define GRIDCONTROL_NO_CLIPBOARD   // Do not use clipboard routines

#include "CellRange.h"
#include "GridCell.h"
#include <afxtempl.h>

#ifdef _WIN32_WCE
#define GRIDCONTROL_NO_TITLETIPS   // Do not use titletips for cells with large data
#define GRIDCONTROL_NO_DRAGDROP    // Do not use OLE drag and drop
#define GRIDCONTROL_NO_CLIPBOARD   // Do not use clipboard routines
#define GRIDCONTROL_NO_PRINTING    // Do not use printing routines

#ifdef WCE_NO_PRINTING
#define _WIN32_WCE_NO_PRINTING
#endif
#ifdef WCE_NO_CURSOR
#define _WIN32_WCE_NO_CURSOR
#endif

#else
// Use C++ exception handling instead of structured.
#undef TRY
#undef CATCH
#undef END_CATCH
#define TRY try
#define CATCH(ex_class, ex_object) catch(ex_class* ex_object)
#define END_CATCH
#endif  // _WIN32_WCE

#ifndef GRIDCONTROL_NO_TITLETIPS
#include "TitleTip.h"
#endif

#ifndef GRIDCONTROL_NO_DRAGDROP
#include "GridDropTarget.h"
#undef GRIDCONTROL_NO_CLIPBOARD     // Force clipboard functions on
#endif

#ifndef GRIDCONTROL_NO_CLIPBOARD
#include <afxole.h>
#endif

// Use this as the classname when inserting this control as a custom control
// in the MSVC++ dialog editor
#define GRIDCTRL_CLASSNAME    _T("MFCGridCtrl")  // Window class name
#define IDC_INPLACE_CONTROL   8                  // ID of inplace edit controls

// Handy functions
#define IsSHIFTpressed() ( (GetKeyState(VK_SHIFT) & (1 << (sizeof(SHORT)*8-1))) != 0   )
#define IsCTRLpressed()  ( (GetKeyState(VK_CONTROL) & (1 << (sizeof(SHORT)*8-1))) != 0 )

// Used for Get/SetItem calls.
typedef struct _GV_ITEM {
    int      row,col;     // Row and Column of item
    UINT     mask;        // Mask for use in getting/setting cell data
    UINT     nState;      // cell state (focus/hilighted etc)
    UINT     nFormat;     // Format of cell
    CString  strText;     // Text in cell
    int      iImage;      // index of the list view item抯 icon
    COLORREF crBkClr;     // Background colour (or CLR_DEFAULT)
    COLORREF crFgClr;     // Forground colour (or CLR_DEFAULT)
    LPARAM   lParam;      // 32-bit value to associate with item
    LOGFONT  lfFont;      // Cell font
    UINT     nMargin;     // Internal cell margin
} GV_ITEM;

// Grid line selection
#define GVL_NONE                0
#define GVL_HORZ                1
#define GVL_VERT                2
#define GVL_BOTH                3

// Cell data mask
#define GVIF_TEXT               LVIF_TEXT
#define GVIF_IMAGE              LVIF_IMAGE
#define GVIF_PARAM              LVIF_PARAM
#define GVIF_STATE              LVIF_STATE
#define GVIF_BKCLR              (GVIF_STATE<<1)
#define GVIF_FGCLR              (GVIF_STATE<<2)
#define GVIF_FORMAT             (GVIF_STATE<<3)
#define GVIF_FONT               (GVIF_STATE<<4)
#define GVIF_MARGIN             (GVIF_STATE<<5)

// Cell states
#define GVIS_FOCUSED            0x0001
#define GVIS_SELECTED           0x0002
#define GVIS_DROPHILITED        0x0004
#define GVIS_READONLY           0x0008
#define GVIS_FIXED              0x0010
#define GVIS_MODIFIED           0x0020

// Cell Searching options
#define GVNI_FOCUSED            0x0001
#define GVNI_SELECTED           0x0002
#define GVNI_DROPHILITED        0x0004
#define GVNI_READONLY           0x0008
#define GVNI_FIXED              0x0010
#define GVNI_MODIFIED           0x0020

#define GVNI_ABOVE              LVNI_ABOVE
#define GVNI_BELOW              LVNI_BELOW
#define GVNI_TOLEFT             LVNI_TOLEFT
#define GVNI_TORIGHT            LVNI_TORIGHT
#define GVNI_ALL                (LVNI_BELOW|LVNI_TORIGHT|LVNI_TOLEFT)
#define GVNI_AREA               (LVNI_BELOW|LVNI_TORIGHT)

// Hit test values (not yet implemented)
#define GVHT_DATA               0x0000
#define GVHT_TOPLEFT            0x0001
#define GVHT_COLHDR             0x0002
#define GVHT_ROWHDR             0x0004
#define GVHT_COLSIZER           0x0008
#define GVHT_ROWSIZER           0x0010
#define GVHT_LEFT               0x0020
#define GVHT_RIGHT              0x0040
#define GVHT_ABOVE              0x0080
#define GVHT_BELOW              0x0100

typedef struct tagNM_GRIDVIEW {
    NMHDR hdr;
    int   iRow;
    int   iColumn;
} NM_GRIDVIEW;

typedef struct tagGV_DISPINFO {
    NMHDR   hdr;
    GV_ITEM item;
} GV_DISPINFO;

// Messages sent to the grid's parent (More will be added in future)
#define GVN_BEGINDRAG           LVN_BEGINDRAG        // LVN_FIRST-9
#define GVN_BEGINLABELEDIT      LVN_BEGINLABELEDIT   // LVN_FIRST-5
#define GVN_BEGINRDRAG          LVN_BEGINRDRAG
#define GVN_COLUMNCLICK         LVN_COLUMNCLICK
#define GVN_DELETEITEM          LVN_DELETEITEM
#define GVN_ENDLABELEDIT        LVN_ENDLABELEDIT     // LVN_FIRST-6
#define GVN_SELCHANGING         LVN_ITEMCHANGING
#define GVN_SELCHANGED          LVN_ITEMCHANGED


// storage typedef for each row in the grid
typedef CTypedPtrArray<CObArray, CGridCellBase*> GRID_ROW;

// DDX_GridControl is used where a DDX_Control call is needed. In some strange
// situations the usual DDX_Control does not result in CGridCtrl::SubclassWindow
// or CGridCtrl::PreSubclassWindow being called. Using this version calls
// CGridCtrl::SubclassWindow directly - ensuring that cell metrics are set properly
class CGridCtrl;
void AFXAPI DDX_GridControl(CDataExchange* pDX, int nIDC, CGridCtrl& rControl);

/////////////////////////////////////////////////////////////////////////////
// CGridCtrl window

class CGridCtrl : public CWnd
{
    DECLARE_DYNCREATE(CGridCtrl)
    friend class CGridCellBase;

// Construction
public:
    CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0);

    BOOL Create(const RECT& rect, CWnd* parent, UINT nID,
                DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);
    BOOL SubclassWindow(HWND hWnd);

// Attributes
public:
    int  GetRowCount() const                    { return m_nRows; }
    int  GetColumnCount() const                 { return m_nCols; }
    int  GetFixedRowCount() const               { return m_nFixedRows; }
    int  GetFixedColumnCount() const            { return m_nFixedCols; }
    BOOL SetRowCount(int nRows = 10);
    BOOL SetColumnCount(int nCols = 10);
    BOOL SetFixedRowCount(int nFixedRows = 1);
    BOOL SetFixedColumnCount(int nFixedCols = 1);

    int  GetRowHeight(int nRow) const;
    BOOL SetRowHeight(int row, int height);
    int  GetColumnWidth(int nCol) const;
    BOOL SetColumnWidth(int col, int width);

    BOOL GetCellOrigin(int nRow, int nCol, LPPOINT p) const;
    BOOL GetCellOrigin(const CCellID& cell, LPPOINT p) const;
    BOOL GetCellRect(int nRow, int nCol, LPRECT pRect) const;
    BOOL GetCellRect(const CCellID& cell, LPRECT pRect) const;

    BOOL GetTextRect(const CCellID& cell, LPRECT pRect);
    BOOL GetTextRect(int nRow, int nCol, LPRECT pRect);

    int  GetFixedRowHeight() const;
    int  GetFixedColumnWidth() const;
    long GetVirtualWidth() const;
    long GetVirtualHeight() const;

    CSize GetTextExtent(int nRow, int nCol, LPCTSTR str);
    // EFW - Get extent of current text in cell
    inline CSize GetCellTextExtent(int nRow, int nCol)  { return GetTextExtent(nRow, nCol, NULL); }

    void     SetTextColor(COLORREF clr)           { m_crTextColour = clr;             }
    COLORREF GetTextColor() const                 { return m_crTextColour;            }
    void     SetTextBkColor(COLORREF clr)         { m_crTextBkColour = clr;           }
    COLORREF GetTextBkColor() const               { return m_crTextBkColour;          }
    void     SetBkColor(COLORREF clr)             { m_crBkColour = clr;               }
    COLORREF GetBkColor() const                   { return m_crBkColour;              }
    void     SetFixedTextColor(COLORREF clr)      { m_crFixedTextColour = clr;        }
    COLORREF GetFixedTextColor() const            { return m_crFixedTextColour;       }
    void     SetFixedBkColor(COLORREF clr)        { m_crFixedBkColour = clr;          }
    COLORREF GetFixedBkColor() const              { return m_crFixedBkColour;         }
    void     SetGridColor(COLORREF clr)           { m_crGridColour = clr;             }
    COLORREF GetGridColor() const                 { return m_crGridColour;            }

    int GetSelectedCount() const                  { return m_SelectedCellMap.GetCount(); }

    CCellID SetFocusCell(CCellID cell);
    CCellID SetFocusCell(int nRow, int nCol);
    CCellID GetFocusCell() const                  { return m_idCurrentCell;           }

    void SetImageList(CImageList* pList)          { m_pImageList = pList;             }
    CImageList* GetImageList() const              { return m_pImageList;              }

    void SetGridLines(int nWhichLines = GVL_BOTH) { m_nGridLines = nWhichLines;
                                                    if (::IsWindow(GetSafeHwnd())) Invalidate(); }
    int  GetGridLines() const                     { return m_nGridLines;              }

    void SetEditable(BOOL bEditable = TRUE)       { m_bEditable = bEditable;          }
    BOOL IsEditable() const                       { return m_bEditable;               }
    void SetListMode(BOOL bEnableListMode = TRUE) { m_bListMode = bEnableListMode;    }
    BOOL GetListMode() const                      { return m_bListMode;               }
    void SetSingleRowSelection(BOOL bSing = TRUE) { m_bSingleRowSelection = bSing;    }
    BOOL GetSingleRowSelection()                  { return m_bSingleRowSelection;     }
    void EnableSelection(BOOL bEnable = TRUE)     { ResetSelectedRange(); m_bEnableSelection = bEnable; ResetSelectedRange(); }
    BOOL IsSelectable() const                     { return m_bEnableSelection;        }
    void EnableDragAndDrop(BOOL bAllow = TRUE)    { m_bAllowDragAndDrop = bAllow;     }
    BOOL GetDragAndDrop() const                   { return m_bAllowDragAndDrop;       }
    void SetRowResize(BOOL bResize = TRUE)        { m_bAllowRowResize = bResize;      }
    BOOL GetRowResize() const                     { return m_bAllowRowResize;         }
    void SetColumnResize(BOOL bResize = TRUE)     { m_bAllowColumnResize = bResize;   }
    BOOL GetColumnResize() const                  { return m_bAllowColumnResize;      }
    void SetHeaderSort(BOOL bSortOnClick = TRUE)  { m_bSortOnClick = bSortOnClick;    }
    BOOL GetHeaderSort() const                    { return m_bSortOnClick;            }
    void SetHandleTabKey(BOOL bHandleTab = TRUE)  { m_bHandleTabKey = bHandleTab;     }
    BOOL GetHandleTabKey() const                  { return m_bHandleTabKey;           }
    void SetDoubleBuffering(BOOL bBuffer = TRUE)  { m_bDoubleBuffer = bBuffer;        }
    BOOL GetDoubleBuffering() const               { return m_bDoubleBuffer;           }
    void EnableTitleTips(BOOL bEnable = TRUE)     { m_bTitleTips = bEnable;           }
    BOOL GetTitleTips()                           { return m_bTitleTips;              }
    int  GetSortColumn() const                    { return m_nSortColumn;             }
    BOOL GetSortAscending() const                 { return m_bAscending;              }

    void EnableWysiwygPrinting(BOOL bEnable = TRUE){ m_bWysiwygPrinting = bEnable;    }
    BOOL GetWysiwygPrinting()                     { return m_bWysiwygPrinting;        }
    void EnableHiddenColUnhide(BOOL bEnable = TRUE){ m_bHiddenColUnhide = bEnable;    }
    BOOL GetHiddenColUnhide()                     { return m_bHiddenColUnhide;        }
    void EnableHiddenRowUnhide(BOOL bEnable = TRUE){ m_bHiddenRowUnhide = bEnable;    }
    BOOL GetHiddenRowUnhide()                     { return m_bHiddenRowUnhide;        }

    void SetDefCellMargin( int nMargin)           { m_nDefCellMargin = nMargin;       }
    int GetDefCellMargin() const                  { return m_nDefCellMargin;          }

    int GetDefCellHeight() const                  { return m_nDefCellHeight;          }
    void SetDefCellHeight(int nHeight)            { m_nDefCellHeight = nHeight;       }
    int GetDefCellWidth() const                   { return m_nDefCellWidth;           }
    void SetDefCellWidth(int nWidth)              { m_nDefCellWidth = nWidth;         }

    void SetModified(BOOL bModified = TRUE, int nRow = -1, int nCol = -1);
    BOOL GetModified(int nRow = -1, int nCol = -1);
    BOOL IsCellFixed(int nRow, int nCol);

    CGridCellBase* GetCell(int nRow, int nCol) const;   // Get the actual cell!

    BOOL   SetItem(const GV_ITEM* pItem);
    BOOL   GetItem(GV_ITEM* pItem);
    BOOL   SetItemText(int nRow, int nCol, LPCTSTR str);
    // The following was virtual. If you want to override, use 
    //  CGridCellLite-derived class's GetText() to accomplish same thing
    CString GetItemText(int nRow, int nCol) const;

    // EFW - 06/13/99 - Added to support printf-style formatting codes.
    // Also supports use with a string resource ID
#if (_WIN32_WCE >= 210)
    BOOL   SetItemTextFmt(int nRow, int nCol, LPCTSTR szFmt, ...);
    BOOL   SetItemTextFmtID(int nRow, int nCol, UINT nID, ...);
#endif

    BOOL   SetItemData(int nRow, int nCol, LPARAM lParam);
    LPARAM GetItemData(int nRow, int nCol) const;
    BOOL   SetItemImage(int nRow, int nCol, int iImage);
    int    GetItemImage(int nRow, int nCol) const;
    BOOL   SetItemState(int nRow, int nCol, UINT state);
    UINT   GetItemState(int nRow, int nCol) const;
    BOOL   SetItemFormat(int nRow, int nCol, UINT nFormat);
    UINT   GetItemFormat(int nRow, int nCol) const;
    BOOL   SetItemBkColour(int nRow, int nCol, COLORREF cr = CLR_DEFAULT);
    COLORREF GetItemBkColour(int nRow, int nCol) const;
    BOOL   SetItemFgColour(int nRow, int nCol, COLORREF cr = CLR_DEFAULT);
    COLORREF GetItemFgColour(int nRow, int nCol) const;
    BOOL SetItemFont(int nRow, int nCol, const LOGFONT* lf);
    const LOGFONT* GetItemFont(int nRow, int nCol);

    // Titletip colours - FNA
	void	SetTitleTipBackClr(COLORREF clr = CLR_DEFAULT)  { m_crTTipBackClr = clr;  }
	COLORREF GetTitleTipBackClr()				            { return m_crTTipBackClr; }
	void	SetTitleTipTextClr(COLORREF clr = CLR_DEFAULT)  { m_crTTipTextClr = clr;  }
	COLORREF GetTitleTipTextClr()				            { return m_crTTipTextClr; }

    BOOL IsItemEditing(int nRow, int nCol);

    BOOL SetCellType(int nRow, int nCol, CRuntimeClass* pRuntimeClass);
    BOOL SetDefaultCellType( CRuntimeClass* pRuntimeClass);

// Operations
public:
    int  InsertColumn(LPCTSTR strHeading, UINT nFormat = DT_CENTER|DT_VCENTER|DT_SINGLELINE,
                      int nColumn = -1);
    int  InsertRow(LPCTSTR strHeading, int nRow = -1);
    BOOL DeleteColumn(int nColumn);
    BOOL DeleteRow(int nRow);
    BOOL DeleteNonFixedRows();
    BOOL DeleteAllItems();

    BOOL AutoSizeRow(int nRow);
    BOOL AutoSizeColumn(int nCol, BOOL bIgnoreHeader = FALSE);
    void AutoSizeRows();
    void AutoSizeColumns();
    void AutoSize(BOOL bIgnoreColumnHeader = FALSE);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av亚洲产国偷v产偷v自拍| 精品一区二区av| 91精品国产综合久久久蜜臀粉嫩 | 奇米精品一区二区三区在线观看| 日韩免费观看2025年上映的电影| 国产福利一区二区三区视频| 国产精品国产三级国产aⅴ中文 | 日韩一级免费观看| 粉嫩久久99精品久久久久久夜| 一区二区三区久久久| 欧美成人一区二区三区片免费 | 99精品视频在线观看| 激情综合五月天| 亚洲欧美日韩中文字幕一区二区三区| 欧美电影在线免费观看| 国产高清一区日本| 亚洲日本成人在线观看| 欧美一级日韩一级| 色婷婷av一区二区三区之一色屋| 另类小说一区二区三区| 亚洲欧美乱综合| 2020日本不卡一区二区视频| 欧美在线啊v一区| 国产福利不卡视频| 日本网站在线观看一区二区三区 | 国产成人免费视频网站| 艳妇臀荡乳欲伦亚洲一区| 久久麻豆一区二区| 欧美日韩一级视频| 99在线精品免费| 国产一区二区三区综合| 亚洲国产视频一区二区| 欧美国产欧美综合| 欧美精品一区二区三区一线天视频 | 成人av资源网站| 久久9热精品视频| 亚洲精品视频一区二区| 久久久久久免费网| 日韩午夜激情视频| 在线看不卡av| av电影一区二区| 国产河南妇女毛片精品久久久| 亚洲欧美另类小说| 国产欧美一区二区精品性色超碰| 欧美一级在线观看| 中文字幕亚洲不卡| 久久先锋资源网| 精品美女在线观看| 日韩你懂的在线播放| 欧美剧情片在线观看| 欧日韩精品视频| 欧美综合欧美视频| 欧美三级蜜桃2在线观看| 99久久精品免费看| 97久久超碰国产精品电影| 国内精品写真在线观看| 精品无人区卡一卡二卡三乱码免费卡| 免费观看久久久4p| 男女性色大片免费观看一区二区| 一区二区三区欧美久久| 亚洲男人的天堂网| 亚洲精品中文在线影院| 日韩美女视频一区| 亚洲精品中文在线| 亚洲精品成人精品456| 亚洲欧美综合色| 亚洲乱码国产乱码精品精的特点 | 91美女片黄在线观看91美女| 在线观看国产日韩| 在线不卡中文字幕| 国产亚洲精品7777| 一区二区三国产精华液| 午夜成人免费电影| 国产一区二区三区美女| av动漫一区二区| 日韩一区二区高清| 国产精品欧美极品| 午夜天堂影视香蕉久久| 国产一区二区三区免费看 | 午夜电影网亚洲视频| 国内精品自线一区二区三区视频| 成人精品国产一区二区4080| 欧美私人免费视频| 久久综合资源网| 一区二区三区国产豹纹内裤在线| 蜜臀av国产精品久久久久| 国产福利一区在线| 欧美老女人第四色| 日韩理论片中文av| 经典一区二区三区| 欧美性videosxxxxx| 久久久久久久久久久99999| 亚洲男人的天堂在线aⅴ视频| 久久se精品一区精品二区| 99久久精品国产精品久久| 日韩一卡二卡三卡四卡| 亚洲柠檬福利资源导航| 国产精品一区二区在线观看不卡 | 欧美日韩一区二区三区在线| 久久久九九九九| 石原莉奈在线亚洲三区| av激情综合网| 国产视频一区不卡| 日本视频一区二区三区| 色又黄又爽网站www久久| 久久久午夜精品| 老司机免费视频一区二区三区| 91在线云播放| 国产欧美精品区一区二区三区| 日本欧美一区二区三区| 色婷婷激情久久| 国产精品国产三级国产普通话蜜臀 | 欧美日韩午夜精品| 自拍偷拍亚洲综合| 成人一道本在线| 国产亚洲综合在线| 免费久久精品视频| 欧美精品乱码久久久久久按摩 | 亚洲福利视频一区二区| 97aⅴ精品视频一二三区| 欧美韩国一区二区| 国产在线播放一区二区三区| 日韩精品最新网址| 亚洲第一成人在线| 91精品福利视频| 一区二区三区色| 色狠狠综合天天综合综合| 亚洲欧洲精品一区二区三区不卡| 国产精品18久久久| 久久久久久久久久美女| 老司机精品视频一区二区三区| 欧美一区二区三区爱爱| 天天射综合影视| 日韩一区二区三区在线观看| 一区二区三区国产豹纹内裤在线| 色成年激情久久综合| ...av二区三区久久精品| 99久久精品99国产精品 | 亚洲国产激情av| 国产成人精品1024| 久久久91精品国产一区二区精品| 国产精品69毛片高清亚洲| 久久精品免费在线观看| 成人免费毛片aaaaa**| 1000部国产精品成人观看| 91麻豆.com| 国产精品亚洲午夜一区二区三区| 久久久精品黄色| av在线免费不卡| 一区二区三区在线观看欧美| 欧美亚洲一区二区在线观看| 亚洲一区二区三区四区在线观看 | 亚洲免费资源在线播放| 色94色欧美sute亚洲线路一ni| 一区二区三区欧美视频| 制服丝袜亚洲播放| 国产精品中文有码| 亚洲欧美在线视频观看| 欧美亚洲动漫精品| 秋霞国产午夜精品免费视频| 久久日韩粉嫩一区二区三区| 大桥未久av一区二区三区中文| 国产精品成人一区二区艾草 | 26uuu另类欧美| 99久久99久久久精品齐齐| 亚洲福利视频导航| 精品国产一区二区三区忘忧草| 成熟亚洲日本毛茸茸凸凹| 18欧美亚洲精品| 日韩欧美二区三区| 成人福利视频在线| 日韩专区欧美专区| 亚洲国产岛国毛片在线| 欧美色国产精品| 国产成人av一区| 亚洲成av人片一区二区梦乃| 精品国产伦一区二区三区观看方式 | 亚洲天堂免费在线观看视频| 欧美性感一区二区三区| 国产资源在线一区| 亚洲精品国产精品乱码不99| 337p亚洲精品色噜噜| 成人国产在线观看| 日韩电影一区二区三区| 国产精品理论在线观看| 91精品中文字幕一区二区三区| 成人深夜视频在线观看| 日产国产高清一区二区三区| 国产精品久久久久久久久久免费看| 欧美日韩精品欧美日韩精品一| 国产麻豆精品在线观看| 亚洲国产日韩综合久久精品| 久久精品一区二区三区不卡牛牛| 欧美性猛片xxxx免费看久爱| 国产mv日韩mv欧美| 日韩精品1区2区3区| 亚洲精品中文字幕在线观看| 国产亲近乱来精品视频| 欧美一区二区三区四区高清| 色综合久久久久|