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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bsbuttongroup.pas

?? 一套支持Delphi的VCL庫
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{*******************************************************************}
{                                                                   }
{       Almediadev Visual Component Library                         }
{       BusinessSkinForm                                            }
{       Version 6.15                                                }
{                                                                   }
{       Copyright (c) 2000-2008 Almediadev                          }
{       ALL RIGHTS RESERVED                                         }
{                                                                   }
{       Home:  http://www.almdev.com                                }
{       Support: support@almdev.com                                 }
{                                                                   }
{*******************************************************************}

unit bsButtonGroup;

interface

uses
  Windows, SysUtils, Classes, Controls, ImgList, Forms, Messages,
  Graphics, StdCtrls, bsCategoryButtons, bsSkinCtrls, bsSkinData, ExtCtrls,
  bsUtils;

type
  TbsGrpButtonItem = class;
  TbsGrpButtonItemClass = class of TbsGrpButtonItem;
  TbsGrpButtonItems = class;
  TbsGrpButtonItemsClass = class of TbsGrpButtonItems;

  TbsGrpButtonOptions = set of (bsgboAllowReorder, bsgboFullSize, bsgboGroupStyle,
    gboShowCaptions);

  TbsGrpButtonEvent = procedure(Sender: TObject; Index: Integer) of object;
  TbsGrpButtonDrawEvent = procedure(Sender: TObject; Index: Integer;
    Canvas: TCanvas; Rect: TRect; State: TbsButtonDrawState) of object;
  TbsGrpButtonDrawIconEvent = procedure(Sender: TObject; Index: Integer;
    Canvas: TCanvas; Rect: TRect; State: TbsButtonDrawState; var TextOffset: Integer) of object;
  TbsGrpButtonReorderEvent = procedure(Sender: TObject; OldIndex, NewIndex: Integer) of object;

  TbsSkinButtonGroup = class(TbsSkinControl)
  private
    FIs9XOS: Boolean;
    FMouseTimer: TTimer;
    FButtonsSkinDataName: String;
    FUseSkinFont: Boolean;
    FShowFocus: Boolean;
    FSkinScrollBar: TbsSkinScrollBar;
    FShowBorder: Boolean;
    FDownIndex: Integer;
    FDragIndex: Integer;
    FDragStartPos: TPoint;
    FDragStarted: Boolean;
    FDragImageList: TDragImageList;
    FHiddenItems: Integer; { Hidden rows or Hidden columns, depending on the flow }
    FHotIndex: Integer;
    FInsertLeft, FInsertTop, FInsertRight, FInsertBottom: Integer;
    FIgnoreUpdate: Boolean;
    FScrollBarMax: Integer;
    FPageAmount: Integer;
    FButtonItems: TbsGrpButtonItems;
    FButtonOptions: TbsGrpButtonOptions;
    FButtonWidth, FButtonHeight: Integer;
    FFocusIndex: Integer;
    FItemIndex: Integer;
    FImageChangeLink: TChangeLink;
    FImages: TCustomImageList;
    FMouseInControl: Boolean;
    FOnButtonClicked: TbsGrpButtonEvent;
    FOnClick: TNotifyEvent;
    FOnHotButton: TbsGrpButtonEvent;
    FOnDrawIcon: TbsGrpButtonDrawIconEvent;
    FOnDrawButton: TbsGrpButtonDrawEvent;
    FOnBeforeDrawButton: TbsGrpButtonDrawEvent;
    FOnAfterDrawButton: TbsGrpButtonDrawEvent;
    FOnMouseLeave: TNotifyEvent;
    FOnReorderButton: TbsGrpButtonReorderEvent;
    //
    procedure OnMouseTimerEvent(Sender: TObject);
    procedure ShowSkinScrollBar(const Visible: Boolean);
    procedure AdjustScrollBar;
    function GetScrollSize: Integer;
    procedure SBChange(Sender: TObject);
    procedure SBUpClick(Sender: TObject);
    procedure SBDownClick(Sender: TObject);
    procedure SBPageUp(Sender: TObject);
    procedure SBPageDown(Sender: TObject);
    //
    procedure AutoScroll(ScrollCode: TScrollCode);
    procedure ImageListChange(Sender: TObject);
    function CalcButtonsPerRow: Integer;
    function CalcRowsSeen: Integer;
    procedure DoFillRect(const Rect: TRect);
    procedure ScrollPosChanged(ScrollCode: TScrollCode;
      ScrollPos: Integer);
    procedure SetOnDrawButton(const Value: TbsGrpButtonDrawEvent);
    procedure SetOnDrawIcon(const Value: TbsGrpButtonDrawIconEvent);
    procedure SeTbsGrpButtonItems(const Value: TbsGrpButtonItems);
    procedure SetButtonHeight(const Value: Integer);
    procedure SetGrpButtonOptions(const Value: TbsGrpButtonOptions);
    procedure SetButtonWidth(const Value: Integer);
    procedure SetItemIndex(const Value: Integer);
    procedure SetImages(const Value: TCustomImageList);
    procedure CMHintShow(var Message: TCMHintShow); message CM_HINTSHOW;
    procedure CNKeydown(var Message: TWMKeyDown); message CN_KEYDOWN;
    procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
    procedure WMKillFocus(var Message: TWMKillFocus); message WM_KILLFOCUS;
    procedure WMMouseLeave(var Message: TMessage); message WM_MOUSELEAVE;
    procedure SetDragIndex(const Value: Integer);
    procedure SetShowBorder(Value: Boolean);
  protected
    procedure PaintBorder(ADC: HDC; AUseExternalDC: Boolean);
    procedure PaintSkinBorder(ADC: HDC; AUseExternalDC: Boolean);
    procedure PaintDefaultBorder(ADC: HDC; AUseExternalDC: Boolean);
    procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
    procedure WMSIZE(var Message: TWMSIZE); message WM_SIZE;
    procedure WMNCPAINT(var Message: TMessage); message WM_NCPAINT;
    procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;

    procedure CMBENCPaint(var Message: TMessage); message CM_BENCPAINT;
    procedure CMSENCPaint(var Message: TMessage); message CM_SENCPAINT;    
    
    function CreateButton: TbsGrpButtonItem; virtual;
    procedure CreateHandle; override;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure DoEndDrag(Target: TObject; X: Integer; Y: Integer); override;
    procedure DoHotButton; dynamic;
    procedure DoMouseLeave; dynamic;
    function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
    function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
    procedure DoReorderButton(const OldIndex, NewIndex: Integer);
    procedure DoStartDrag(var DragObject: TDragObject); override;
    procedure DragOver(Source: TObject; X: Integer; Y: Integer;
      State: TDragState; var Accept: Boolean); override;
    procedure DrawButton(Index: Integer; Canvas: TCanvas;
      Rect: TRect; State: TbsButtonDrawState); virtual;
    procedure DrawSkinButton(Index: Integer; Canvas: TCanvas;
      Rct: TRect; State: TbsButtonDrawState); virtual;
    procedure DrawStretchSkinButton(Index: Integer; Canvas: TCanvas;
      Rct: TRect; State: TbsButtonDrawState); virtual;
    procedure DoItemClicked(const Index: Integer); virtual;
    function GetButtonClass: TbsGrpButtonItemClass; virtual;
    function GetButtonsClass: TbsGrpButtonItemsClass; virtual;
    function GetDragImages: TDragImageList; override;
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
      X: Integer; Y: Integer); override;
    procedure MouseMove(Shift: TShiftState; X: Integer; Y: Integer); override;
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X: Integer;
      Y: Integer); override;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure Resize; override;
    procedure UpdateButton(const Index: Integer);
    procedure UpdateAllButtons;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Paint; override;
    procedure Assign(Source: TPersistent); override;
    procedure ChangeSkinData; override;
    procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
    { DragIndex: If a drag operation is coming from this control, it is
      because they are dragging the item at DragIndex. Set DragIndex to
      control which item is being dragged before manually calling
      BeginDrag. }
    property DragIndex: Integer read FDragIndex write SetDragIndex;
    property DragImageList: TDragImageList read FDragImageList;
    procedure DragDrop(Source: TObject; X: Integer; Y: Integer); override;
    function GetButtonRect(const Index: Integer): TRect;
    function IndexOfButtonAt(const X, Y: Integer): Integer;
    { RemoveInsertionPoints: Removes the insertion points added by
      SetInsertionPoints }
    procedure RemoveInsertionPoints;
    procedure ScrollIntoView(const Index: Integer);
    { SetInsertionPoints: Draws an insert line for inserting at
      InsertionIndex. Shows/Hides  }
    procedure SetInsertionPoints(const InsertionIndex: Integer);
    { TargetIndexAt: Gives you the target insertion index given a
      coordinate. If it is above half of a current button, it inserts
      above it. If it is below the half, it inserts after it. }
    function TargetIndexAt(const X, Y: Integer): Integer;
    property Canvas;
  published
    property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
    property Align;
    property Anchors;
    property ButtonsSkinDataName: String read FButtonsSkinDataName write FButtonsSkinDataName;
    property ShowBoder: Boolean read FShowBorder write SetShowBorder;
    property ShowFocus: Boolean read FShowFocus write FShowFocus;
    property ButtonHeight: Integer read FButtonHeight write SetButtonHeight default 24;
    property ButtonWidth: Integer read FButtonWidth write SetButtonWidth default 24;
    property ButtonOptions: TbsGrpButtonOptions read FButtonOptions write SetGrpButtonOptions default [gboShowCaptions];
    property DockSite;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property Font;
    property Height default 100;
    property Images: TCustomImageList read FImages write SetImages;
    property Items: TbsGrpButtonItems read FButtonItems write SeTbsGrpButtonItems;
    property ItemIndex: Integer read FItemIndex write SetItemIndex default -1;
    property PopupMenu;
    property ShowHint;
    property TabOrder;
    property TabStop default True;
    property Width default 100;
    property Visible;
//    property OnAlignInsertBefore;
//    property OnAlignPosition;
    property OnButtonClicked: TbsGrpButtonEvent read FOnButtonClicked write FOnButtonClicked;
    property OnClick: TNotifyEvent read FOnClick write FOnClick;
    property OnContextPopup;
    property OnDockDrop;
    property OnDockOver;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnEnter;
    property OnExit;
    property OnHotButton: TbsGrpButtonEvent read FOnHotButton write FOnHotButton;
    property OnAfterDrawButton: TbsGrpButtonDrawEvent read FOnAfterDrawButton write FOnAfterDrawButton;
    property OnBeforeDrawButton: TbsGrpButtonDrawEvent read FOnBeforeDrawButton write FOnBeforeDrawButton;
    property OnDrawButton: TbsGrpButtonDrawEvent read FOnDrawButton write SetOnDrawButton;
    property OnDrawIcon: TbsGrpButtonDrawIconEvent read FOnDrawIcon write SetOnDrawIcon;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnReorderButton: TbsGrpButtonReorderEvent read FOnReorderButton write FOnReorderButton;
//    property OnMouseActivate;
    property OnMouseDown;
    property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseWheel;
    property OnMouseWheelDown;
    property OnMouseWheelUp;
    property OnStartDock;
    property OnStartDrag;
  end;

  TbsGrpButtonItem = class(TbsBaseButtonItem)
  private
    function GetButtonGroup: TbsSkinButtonGroup;
    function GetCollection: TbsGrpButtonItems;
    procedure SetCollection(const Value: TbsGrpButtonItems); reintroduce;
  protected
    function GetNotifyTarget: TComponent; override;
  public
    procedure ScrollIntoView; override;
    property Collection: TbsGrpButtonItems read GetCollection write SetCollection;
  published
    property ButtonGroup: TbsSkinButtonGroup read GetButtonGroup;
  end;

  TbsGrpButtonItems = class(TCollection)
  private
    FButtonGroup: TbsSkinButtonGroup;
    FOriginalID: Integer;
    function GetItem(Index: Integer): TbsGrpButtonItem;
    procedure SetItem(Index: Integer; const Value: TbsGrpButtonItem);
  protected
    function GetOwner: TPersistent; override;
    procedure Update(Item: TCollectionItem); override;
  public
    constructor Create(const ButtonGroup: TbsSkinButtonGroup);
    function Add: TbsGrpButtonItem;
    function AddItem(Item: TbsGrpButtonItem; Index: Integer): TbsGrpButtonItem;
    procedure BeginUpdate; override;
    function Insert(Index: Integer): TbsGrpButtonItem;
    property Items[Index: Integer]: TbsGrpButtonItem read GetItem write SetItem; default;
    property ButtonGroup: TbsSkinButtonGroup read FButtonGroup;
  end;

implementation


{ TbsSkinButtonGroup }

constructor TbsSkinButtonGroup.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FIs9XOS := Is9XOs;
  if FIs9XOS
  then
    begin
      FMouseTimer := TTimer.Create(Self);
      FMouseTimer.Enabled := False;
      FMouseTimer.Interval := 100;
      FMouseTimer.OnTimer := OnMouseTimerEvent;
    end;
  FButtonsSkinDataName := 'resizebutton';
  FUseSkinFont := True;
  FShowFocus := False;
  FSkinScrollBar := nil;
  FShowBorder := False;
  Width := 100;
  Height := 100;
  ControlStyle := [csDoubleClicks, csCaptureMouse, csDisplayDragImage, csAcceptsControls];
  FButtonItems := GetButtonsClass.Create(Self);
  FButtonOptions := [gboShowCaptions];
  FButtonWidth := 24;
  FButtonHeight := 24;
  FImageChangeLink := TChangeLink.Create;
  FImageChangeLink.OnChange := ImageListChange;
  FDoubleBuffered := True;
  FHotIndex := -1;
  FDownIndex := -1;
  FItemIndex := -1;
  FDragIndex := -1;
  FInsertBottom := -1;
  FInsertTop := -1;
  FInsertLeft := -1;
  FInsertRight := -1;
  FDragImageList := TDragImageList.Create(nil);
  FFocusIndex := -1;
  TabStop := True;
end;

procedure TbsSkinButtonGroup.ChangeSkinData;
begin
  FSkinDataName := '';

  inherited;

  if FSkinScrollBar <> nil
  then
    begin
      FSkinScrollBar.SkinData := Self.Skindata;
    end;

  if FShowBorder then RecreateWnd;

  Resize;
  AdjustScrollBar;
  Invalidate;
end;

procedure TbsSkinButtonGroup.OnMouseTimerEvent(Sender: TObject);
var
  P: TPoint;
begin
  GetCursorPos(P);
  if WindowFromPoint(P) <> Self.Handle
  then
    begin
      FMouseTimer.Enabled := False;
      SendMessage(Handle, WM_MOUSELEAVE, 0, 0);
    end;
end;

procedure TbsSkinButtonGroup.SetBounds;
begin
  inherited;
  if HandleAllocated then 
  if ((FButtonWidth > 0) or (bsgboFullSize in FButtonOptions)) and (FButtonHeight > 0)
  then
    begin
      Resize;
      AdjustScrollBar;
    end;
end;

procedure TbsSkinButtonGroup.SBChange(Sender: TObject);
var
  ScrollCode: TScrollCode;
begin
  ScrollCode := scPosition;
  ScrollPosChanged(TScrollCode(ScrollCode), FSkinScrollBar.Position);
end;

procedure TbsSkinButtonGroup.SBUpClick(Sender: TObject);
var
  ScrollCode: TScrollCode;
begin
  ScrollCode := scLineDown;
  ScrollPosChanged(TScrollCode(ScrollCode), FSkinScrollBar.Position);
end;

procedure TbsSkinButtonGroup.SBDownClick(Sender: TObject);
var
  ScrollCode: TScrollCode;
begin
  ScrollCode := scLineUp;
  ScrollPosChanged(TScrollCode(ScrollCode), FSkinScrollBar.Position);
end;

procedure TbsSkinButtonGroup.SBPageUp(Sender: TObject);
var
  ScrollCode: TScrollCode;
begin
  ScrollCode := scPageUp;
  ScrollPosChanged(TScrollCode(ScrollCode), FSkinScrollBar.Position);
end;

procedure TbsSkinButtonGroup.SBPageDown(Sender: TObject);
var
  ScrollCode: TScrollCode;
begin
  ScrollCode := scPageDown;
  ScrollPosChanged(TScrollCode(ScrollCode), FSkinScrollBar.Position);
end;

function TbsSkinButtonGroup.GetScrollSize: Integer;
begin
  if FSkinScrollBar = nil
  then
    Result := 0
  else
    Result := FSkinScrollBar.Width;
end;

procedure TbsSkinButtonGroup.AdjustScrollBar;
begin
  if FSkinScrollBar = nil then Exit;
  FSkinScrollBar.SetBounds(ClientWidth - FSkinScrollBar.Width, 0,
  FSkinScrollBar.Width, ClientHeight);
  if not FSkinScrollBar.Visible then FSkinScrollBar.Visible := True;
end;

procedure TbsSkinButtonGroup.ShowSkinScrollBar(const Visible: Boolean);
begin
  if Visible
  then
    begin
     FSkinScrollBar := TbsSkinScrollBar.Create(Self);
     FSkinScrollBar.Visible := False;
     FSkinScrollBar.Parent := Self;
     FSkinScrollBar.DefaultHeight := 0;
     FSkinScrollBar.DefaultWidth := 19;
     //
     FSkinScrollBar.OnChange := SBChange;
     FSkinScrollBar.OnUpButtonClick := SBUpClick;
     FSkinScrollBar.OnDownButtonClick := SBDownClick;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜精品一区二区三区他趣| 国产在线观看免费一区| 日韩激情av在线| 国产福利91精品一区| 色香蕉成人二区免费| 亚洲精品一区二区三区在线观看| 洋洋av久久久久久久一区| 国内精品写真在线观看| 欧美日韩在线播| 亚洲黄色性网站| a级高清视频欧美日韩| 久久久久久电影| 日本亚洲三级在线| 在线精品亚洲一区二区不卡| 国产精品久久久久天堂| 精品一区二区三区久久久| 欧美日韩不卡视频| 一区二区三区四区乱视频| av不卡在线播放| 亚洲少妇30p| 99久久久国产精品| 国产精品久久久久久妇女6080| 久久se这里有精品| 91精品麻豆日日躁夜夜躁| 亚洲精品国产视频| 91麻豆123| 亚洲一级二级在线| 欧美性xxxxxxxx| 亚洲成人综合在线| 欧美日韩黄色影视| 亚洲成a人片综合在线| 精品视频1区2区3区| 一区二区三区免费| 久久久久综合网| 紧缚捆绑精品一区二区| 精品99一区二区| 国产一区二区不卡在线| 久久久噜噜噜久噜久久综合| 国产精品自在欧美一区| 久久综合九色综合欧美98 | 精品少妇一区二区三区视频免付费 | 精品区一区二区| 国内精品伊人久久久久影院对白| 精品久久久久久久久久久久久久久久久 | 色婷婷精品久久二区二区蜜臀av | 国模套图日韩精品一区二区 | 香蕉成人伊视频在线观看| 欧美蜜桃一区二区三区 | 亚洲成人黄色影院| 欧美一区二区三区电影| 久久爱另类一区二区小说| 中文字幕欧美日本乱码一线二线| 成人黄色777网| 亚洲午夜在线电影| 日韩欧美中文一区二区| 国产成人综合自拍| 亚洲男人的天堂在线aⅴ视频| 欧美吞精做爰啪啪高潮| 久草精品在线观看| 成人欧美一区二区三区白人| 在线观看视频欧美| 久久99最新地址| 欧美国产综合色视频| 欧美久久久一区| 国产91精品精华液一区二区三区 | 北岛玲一区二区三区四区 | 精品一区二区三区免费播放| 亚洲视频一区在线| 日韩欧美一区二区三区在线| 成人性生交大片免费看在线播放| 一片黄亚洲嫩模| 欧美精品一区二区三区在线 | 日韩激情av在线| 国产精品你懂的在线欣赏| 777色狠狠一区二区三区| 国产不卡免费视频| 亚洲一区二区综合| 欧美国产日韩一二三区| 欧美疯狂做受xxxx富婆| 波多野结衣亚洲| 免费成人在线视频观看| 亚洲免费观看高清完整| 亚洲精品一线二线三线| 欧美精品免费视频| 色域天天综合网| 国产老女人精品毛片久久| 午夜精品久久久久久| 亚洲美女免费在线| 亚洲国产精品av| 久久日韩粉嫩一区二区三区| 91精品在线麻豆| 欧美最新大片在线看| aaa国产一区| 成人免费黄色大片| 国产精品一二三区| 美女久久久精品| 同产精品九九九| 亚洲综合成人在线视频| 最新中文字幕一区二区三区 | 亚洲成人激情自拍| 亚洲精品中文字幕在线观看| 亚洲国产精品v| 亚洲国产精品成人综合色在线婷婷 | 国产盗摄精品一区二区三区在线| 日韩高清一区在线| 亚洲在线视频免费观看| 亚洲精品自拍动漫在线| 亚洲男女一区二区三区| 亚洲六月丁香色婷婷综合久久 | 国产精品全国免费观看高清 | 99国产一区二区三精品乱码| 国产精品一二三在| 国产99一区视频免费| 国产成人亚洲综合a∨婷婷图片| 免费在线观看成人| 久久精品国产精品亚洲综合| 毛片av一区二区| 日韩av成人高清| 青青草伊人久久| 蜜桃久久久久久久| 麻豆国产91在线播放| 精品影院一区二区久久久| 韩日av一区二区| 国产呦精品一区二区三区网站| 韩国欧美国产1区| 国产精品18久久久| 91伊人久久大香线蕉| 色综合天天综合狠狠| 91久久精品午夜一区二区| 欧美肥妇bbw| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美一区二区三区白人| 亚洲精品在线电影| 中文字幕中文字幕一区二区| 亚洲色图色小说| 午夜影视日本亚洲欧洲精品| 伦理电影国产精品| 成人在线一区二区三区| 94-欧美-setu| 欧美精品一卡两卡| 久久影院午夜论| 亚洲免费视频中文字幕| 免费成人在线网站| 成人app在线| 欧美日韩国产电影| 久久久久久久久久久黄色 | 日韩电影免费在线看| 激情深爱一区二区| 成人高清伦理免费影院在线观看| av一区二区三区在线| 337p亚洲精品色噜噜噜| 中文字幕二三区不卡| 亚洲va国产天堂va久久en| 国内精品国产成人| 在线看日韩精品电影| 精品国产百合女同互慰| 亚洲另类色综合网站| 国产一区视频导航| 欧美久久免费观看| 亚洲欧美偷拍卡通变态| 久久99久久久欧美国产| 91视频免费看| 精品粉嫩aⅴ一区二区三区四区| 亚洲免费电影在线| 国产在线精品免费| 欧美三级资源在线| 亚洲欧美中日韩| 国产精品综合在线视频| 欧美日韩免费电影| 亚洲三级理论片| 国产成人免费在线视频| 91精品国产色综合久久不卡蜜臀| 中文字幕制服丝袜成人av| 蜜桃av噜噜一区二区三区小说| 日本韩国精品在线| 中文久久乱码一区二区| 国产乱人伦精品一区二区在线观看| 欧美午夜电影网| 亚洲精品欧美激情| 97久久精品人人做人人爽| 欧美va在线播放| 日韩精品91亚洲二区在线观看| 一本色道久久综合亚洲精品按摩| 日本成人在线视频网站| 欧美性色欧美a在线播放| 综合久久国产九一剧情麻豆| 国产91露脸合集magnet| 国产日韩一级二级三级| 国产在线精品免费| 欧美一区二区在线免费观看| 偷窥少妇高潮呻吟av久久免费| 日本国产一区二区| 亚洲人快播电影网| 99久久精品免费观看| 国产精品高潮久久久久无| 国产精一品亚洲二区在线视频| 久久蜜臀精品av| 国产999精品久久久久久| 国产欧美日韩精品a在线观看| 国产成人av福利|