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

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

?? 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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区毛片| 一本久道中文字幕精品亚洲嫩| 日本不卡高清视频| 亚洲成人免费影院| 午夜欧美一区二区三区在线播放| 亚洲视频免费看| 亚洲色图欧美偷拍| 亚洲天堂av一区| 亚洲另类春色国产| 亚洲大片在线观看| 亚洲18色成人| 日本91福利区| 韩国av一区二区| 国产成人精品综合在线观看| 成人精品在线视频观看| 东方欧美亚洲色图在线| 成人av网在线| 91成人网在线| 91精品国产综合久久婷婷香蕉 | 丁香婷婷综合激情五月色| 国产成人小视频| 不卡的av网站| 欧美伊人久久久久久久久影院| 欧美日韩美女一区二区| 欧美一区三区二区| 久久女同精品一区二区| 国产精品家庭影院| 夜夜嗨av一区二区三区网页 | www.欧美.com| 欧美伊人久久久久久久久影院| 欧美日本在线播放| 欧美精品一区二区三区蜜桃| 国产精品私人自拍| 亚洲综合一区二区精品导航| 日韩国产欧美在线视频| 国产一区视频在线看| aaa亚洲精品| 欧美日韩三级一区二区| 久久亚洲综合av| 亚洲精品午夜久久久| 欧美aaaaa成人免费观看视频| 国产在线视频一区二区| 一本一本大道香蕉久在线精品| 欧美剧情片在线观看| 久久综合色综合88| 亚洲最新视频在线播放| 国产呦萝稀缺另类资源| 色噜噜狠狠一区二区三区果冻| 欧美二区乱c少妇| 国产精品久久看| 免费观看一级特黄欧美大片| 成人在线视频一区| 337p亚洲精品色噜噜| 国产精品久久久久四虎| 日韩av不卡一区二区| 成人性生交大片免费看中文网站| 欧美午夜精品久久久久久孕妇 | 亚洲成av人片| 国产成人av一区| 欧美精品丝袜中出| 亚洲欧洲精品天堂一级| 免费视频最近日韩| 色狠狠桃花综合| 国产欧美日韩亚州综合| 日韩成人一区二区| 91亚洲精品久久久蜜桃| 2019国产精品| 三级不卡在线观看| a在线播放不卡| 久久婷婷国产综合国色天香| 亚洲电影你懂得| 99re6这里只有精品视频在线观看| 欧美一区二区在线不卡| 亚洲欧美激情视频在线观看一区二区三区 | 国产精品色哟哟| 九九精品视频在线看| 欧美日韩精品一区二区三区四区| 欧美国产日产图区| 精品一区二区三区在线观看国产| 色婷婷激情一区二区三区| 国产午夜精品一区二区三区嫩草 | www.66久久| 精品99999| 强制捆绑调教一区二区| 在线观看亚洲一区| 亚洲日本va在线观看| 粉嫩av一区二区三区| 久久久久久久免费视频了| 日韩av不卡一区二区| 欧美丝袜丝交足nylons| 亚洲日本在线天堂| gogogo免费视频观看亚洲一| 久久久综合精品| 寂寞少妇一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲网友自拍偷拍| 日本国产一区二区| 亚洲欧美福利一区二区| 成人激情开心网| 国产精品久久久久四虎| 成人动漫一区二区在线| 国产欧美一区二区三区在线看蜜臀| 麻豆精品在线播放| 日韩一区二区三区视频在线| 午夜精品一区二区三区免费视频 | 欧美日韩成人一区| 亚洲国产视频网站| 欧美蜜桃一区二区三区| 亚洲gay无套男同| 91麻豆精品国产91久久久资源速度| 亚洲一区中文日韩| 欧美日韩精品一区视频| 日韩电影一区二区三区四区| 欧美日韩成人综合| 免费日本视频一区| 精品理论电影在线观看| 国产一区二区中文字幕| 欧美国产视频在线| 91玉足脚交白嫩脚丫在线播放| 亚洲少妇30p| 在线观看区一区二| 日韩精品亚洲专区| 日韩欧美国产系列| 国产黄色91视频| 亚洲天天做日日做天天谢日日欢| 91福利国产精品| 日本vs亚洲vs韩国一区三区二区| 欧美本精品男人aⅴ天堂| 国产精品18久久久久久久久| 国产精品女同一区二区三区| 一本一本大道香蕉久在线精品| 亚洲成人免费观看| 精品sm在线观看| 99久久国产综合精品女不卡 | 91福利视频久久久久| 天天综合天天综合色| 2024国产精品| 91免费观看在线| 免费人成精品欧美精品| 日本亚洲电影天堂| 精彩视频一区二区三区 | 国产精品国产三级国产a| 94色蜜桃网一区二区三区| 天天操天天干天天综合网| 26uuu欧美日本| 99re这里只有精品视频首页| 香蕉影视欧美成人| 国产无遮挡一区二区三区毛片日本| 91原创在线视频| 美女视频免费一区| 亚洲特黄一级片| 欧美r级在线观看| 色视频成人在线观看免| 精久久久久久久久久久| 亚洲精品欧美专区| 欧美大片拔萝卜| 99久久er热在这里只有精品15| 奇米777欧美一区二区| 国产欧美精品一区二区三区四区| 在线精品视频一区二区| 国产麻豆精品在线观看| 一二三四社区欧美黄| 久久精品人人做人人爽人人| 欧美色综合久久| 粉嫩蜜臀av国产精品网站| 日韩激情在线观看| 亚洲另类春色国产| 国产视频一区二区三区在线观看| 欧美系列在线观看| 国产不卡视频一区| 蜜臀久久99精品久久久画质超高清| 1024成人网| 久久精品在这里| 欧美日韩国产一二三| aaa国产一区| 国产专区欧美精品| 日韩av一二三| 亚洲高清免费观看| 亚洲色欲色欲www| 久久亚洲私人国产精品va媚药| 精品视频在线看| 91麻豆免费在线观看| 成人午夜av在线| 国产在线看一区| 免费人成在线不卡| 午夜视频在线观看一区二区三区| 国产精品久久久久久久久免费樱桃 | 欧美性猛片aaaaaaa做受| av在线播放成人| 成人精品小蝌蚪| 国产精品一二三在| 国产又黄又大久久| 久久国内精品自在自线400部| 亚洲成人资源网| 亚洲影视在线观看| 亚洲一区在线播放| 亚洲综合视频在线观看| 亚洲视频一二三| 亚洲男女一区二区三区| 国产精品国产三级国产aⅴ无密码|