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

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

?? dsnunit.pas

?? 主要介紹超市管理系統的后臺系統,后臺程序是系統初始化和系統維護最常使用的一部分程序,主要任務是建產基本數據,進出貨盤點和打印報表.后臺程序主要負責的都是管理上的功能,當后臺建立完整的數據后,前臺才能順
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
unit DsnUnit;

// Runtime Design System Version 2.x   June/08/1998
// Copyright(c) 1998 Kazuhiro Sasaki.

interface

uses
  Windows, Messages, SysUtils, {COMMCTRL,}Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TypInfo, ExtCtrls, Buttons, Grids,
  Clipbrd, Menus, COMCTRLS, DsnShape, DsnHandle, DsnList, DsnProp,
  DsnPanel, DsnMes, DsnLgMes, DsnAgent, DsnFunc;


type

  TResizeMessage = record
    Msg: Cardinal;
    SLeft:Smallint;
    STop:Smallint;
    SWidth:Smallint;
    SHeight:Smallint;
    Result: Longint;
  end;

  TDsnStage = class;
  TDsnCtrl = class;
  TDsnRegister = class;

  TDsnList = class(TList)
  end;

  TDsnPartner = class(TComponent)
  private
    FDsnRegister: TDsnRegister;
  protected
    FDesigning: Boolean;
    procedure SetDsnRegister(Value:TDsnRegister);
    procedure SetDesigning(Value:Boolean);virtual;
    procedure CreateTargetList;
    procedure CreateMoveShape;
    function CheckCanSelect(Control: TControl): Boolean;
    function GetDsnList:TDsnList;
    function GetTargetList:TTargetList;
  public
    constructor Create(AOwner: TComponent); override;
    property DsnRegister: TDsnRegister read FDsnRegister write SetDsnRegister;
  end;

  TDsnRegister = class(TComponent)
  private
    FDesigning:Boolean;
    FDsnPanel:TCustomCmpPlt;
    FDsnStage:TDsnStage;
    FDsnInspector:TCustomInspector;
    FArrowButton:TArrowButton;
    FProps: TMultiProps;
    FContextMenu :TPopupMenu;
  protected
    FDsnCtrlList: TDsnList;
    DsnNotifies: TList;
    DsnPartners: TList;
//    FLastTarget: TComponent;
    FTargetList: TTargetList;
    FParentCtrl: TWinControl;
    FX, FY: Integer;
    CutSizeX:Integer;
    CutSizeY:Integer;
    Color:TColor;
    PenWidth:Integer;
    FDsnControl:TComponent;
    FHandler: TMultiHandler;
    FShape: TMultiShape;
    procedure CreateSubClass;
    procedure DestroySubClass;
    procedure SetDsnStage(Value:TDsnStage);
    procedure SetDsnPanel(Value:TCustomCmpPlt);
    procedure SetDsnInspector(Value:TCustomInspector);
    procedure SetArrowButton(Value:TArrowButton);
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure AlertClientDeath;virtual;
    procedure AlertTargetDeath;virtual;
    procedure SetDesigning(Value:Boolean);virtual;
    procedure CreateHandler;virtual;
    procedure CreateCopyShape;virtual;
    procedure CreateMoveShape;virtual;
    function CreateSubCtrl(AParent:TWinControl):TDsnCtrl;virtual;
    function CreateList:TTargetList;virtual;
    function CreateDsnList:TDsnList;virtual;
    function CreateProps:TMultiProps;
    procedure Cutting(var X, Y: Integer);
    procedure MouseDown(Client:TWinControl; Target:TComponent; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MoseMove(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MoseUp(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseDownCreate(Client:TWinControl; Target:TComponent; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseMoveCreate(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseUpCreate(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseDownMove(Client:TWinControl; Target:TComponent; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseMoveMove(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure MouseUpMove(Client:TWinControl; MousePoint:TPoint; Shift: TShiftState);virtual;
    procedure DbClick(Target:TControl; var Message: TWMMouse);virtual;
    procedure CallPopupMenu(Client:TWinControl; Target:TControl; XPos,YPos: Integer);virtual;
    procedure RButtonDown(Client:TWinControl; Target:TControl; XPos,YPos: Integer);virtual;
    function CanCopy:Boolean;virtual;
    function CanPaste:Boolean;virtual;
    function PasteZero:TWinControl;virtual;
    procedure Cut;virtual;
    procedure Copy;virtual;
    procedure Paste;virtual;
    procedure Delete;virtual;
    procedure ComponentsProcClipbrd(Component:TComponent);
    procedure CopyPaste(Ctrl:TControl;aParent:TWinControl);
    procedure ComponentsProc(Component:TComponent);virtual;
    procedure GiveName(Component: TComponent);virtual;
    procedure Resized(Control:TControl;var Message: TResizeMessage);virtual;
    procedure Moved(DeltaX,DeltaY: Integer);virtual;
    procedure Selected(Control:TControl;var Message: TMessage);virtual;
    procedure SelectByInspect(Control:TControl);
    procedure SetSubClass(AParent: TWinControl);
    procedure CreateContextMenu;virtual;
    procedure MenuMethod(Sender:TObject);virtual;
    procedure CheckName(Reader:TReader; Component:TComponent; var Name:String);
    procedure SortForDelete(List: TList);
    //procedure AddReceiveTargets(List: TReceiveTargets); virtual;
    function CheckCanSelect(Control: TControl): Boolean;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    property Designing:Boolean read FDesigning write SetDesigning;
    function SameParent:Boolean;
    procedure ClearSelect;
    procedure AddPartners(Partner: TDsnPartner); virtual;
    procedure RemovePartners(Partner: TDsnPartner); virtual;
    procedure AddNotifies(List: TReceiveTargets); virtual;
  published
    property DsnStage:TDsnStage read FDsnStage write SetDsnStage;
    property DsnPanel:TCustomCmpPlt read FDsnPanel write SetDsnPanel;
    property DsnInspector: TCustomInspector read FDsnInspector write SetDsnInspector;
    //Someday, DsnInspector property will be abolished  when TCustomInspector become a subclass of TDsnPartner.
    property ArrowButton: TArrowButton read FArrowButton write SetArrowButton;
    //Someday, ArrowButton property will be abolished when DsnInspector property is abolished.
  end;

  TRubberband = class(TPersistent)
  private
    FColor:TColor;
    FPenWidth:Integer;
    FMoveWidth:Integer;
    FMoveHeight:Integer;
  published
    property Color:TColor read FColor write FColor;
    property PenWidth:Integer read FPenWidth write FPenWidth;
    property MoveWidth:Integer read FMoveWidth write FMoveWidth;
    property MoveHeight:Integer read FMoveHeight write FMoveHeight;
  end;

  TSelectAccept = set of (saCreate, saMove);
  TSelectQuery = procedure
                    (Sender:TObject;Component:TComponent;
                           var CanSelect:TSelectAccept) of Object;
  TMoveQuery = procedure
                    (Sender:TObject;Component:TComponent;
                           var CanMove:Boolean) of Object;
  TCoverAccept = (caAllAccept, caNoAccept, caChildrenAccept);
  TCoverQuery = procedure
                    (Sender:TObject;Component:TComponent;
                           var CanCover:TCoverAccept) of Object;
  TControlCreate = procedure
                    (Sender:TObject;Component:TComponent)
                                                      of Object;
  TCallCompoEditor = procedure
                    (Sender:TObject;Component:TComponent)
                                                      of Object;
  TDsnStage = class(TPanel)
  private
    FDsnRegister: TDsnRegister;
    FSelfProps:TStrings;
    FOutProps:TStrings;
    FOnDeleteQuery:TDeleteQuery;
    FOnCoverQuery:TCoverQuery;
    FOnSelectQuery:TSelectQuery;
    FOnMoveQuery:TMoveQuery;
    FOnControlCreate:TControlCreate;
    FOnControlLoaded:TControlCreate;
    FOnControlLoading:TControlCreate;
    FOnCoverDblClick:TCallCompoEditor;
    FOnMenuClick:TCallPropEditor;
    FOnPopup:TNotifyEvent;
    FRubberband:TRubberband;
    FCoverMenu:TPopupMenu;
    FFixPosition:Boolean;
    FFixSize:Boolean;
    FDesigning:Boolean;
  protected
    procedure SetSelfProps(Value: TStrings);
    procedure SetOutProps(Value: TStrings);
    procedure ComponentsProc(Component:TComponent);
    procedure CheckName(Reader:TReader; Component:TComponent; var Name:String); virtual;
    procedure WriteComponents(Stream:TStream;Control:TControl); virtual;
    procedure ReadComponents(Stream:TStream); virtual;
    procedure ReadError(Reader: TReader; const Message: string; var Handled: Boolean); virtual;
    procedure FindMethod(Reader: TReader; const MethodName: string;
               var Address: Pointer; var Error: Boolean); virtual;
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    procedure WMKeyUp(var Message: TWmKeyUp); message WM_KEYUP;
    procedure ClientDeth(var Message:TMessage); message AG_DESTROY;
    procedure PropertyChanged(var Message:TMessage); message CI_SETPROPERTY;
    procedure ControlCreated(var Message:TMessage); message DR_CREATED;
    procedure ControlLoaded(var Message: TMessage); message DS_LOADED;
    function GetControls(Index:Integer):TControl;
    function GetCanCopy:Boolean;
    function GetCanPaste:Boolean;
    procedure KeyPress(var Key: Char); override;
    procedure SetDesignig(Value:Boolean); virtual;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure SaveToFile(FileName:String);
    procedure SaveToStream(Stream:TStream);
    procedure LoadFromFile(FileName:String);
    procedure LoadFromStream(Stream:TStream);
    procedure Cut;
    procedure Copy;
    procedure Paste;
    procedure UpdateControl;
    function TargetsCount:Integer;
    procedure Delete;
    property Targets[Index:Integer]:TControl read GetControls;
    property CanCopy: Boolean read GetCanCopy;
    property CanPaste: Boolean read GetCanPaste;
    property Designing: Boolean read FDesigning;
  published
    property SelfProps:TStrings read FSelfProps write SetSelfProps;
    property OutProps:TStrings read FOutProps write SetOutProps;
    property Rubberband:TRubberband read FRubberband write FRubberband;
    property CoverMenu:TPopupMenu read FCoverMenu write FCoverMenu;
    property FixPosition:Boolean read FFixPosition write FFixPosition;
    property FixSize:Boolean read FFixSize write FFixSize;
    property OnDeleteQuery:TDeleteQuery read FOnDeleteQuery write FOnDeleteQuery;
    property OnCoverQuery:TCoverQuery read FOnCoverQuery write FOnCoverQuery;
    property OnSelectQuery:TSelectQuery read FOnSelectQuery write FOnSelectQuery;
    property OnMoveQuery:TMoveQuery read FOnMoveQuery write FOnMoveQuery;
    property OnControlCreate:TControlCreate read FOnControlCreate write FOnControlCreate;
    property OnControlLoading:TControlCreate read FOnControlLoading write FOnControlLoading;
    property OnControlLoaded:TControlCreate read FOnControlLoaded write FOnControlLoaded;
    property OnCoverDblClick:TCallCompoEditor read FOnCoverDblClick write FOnCoverDblClick;
    property OnMenuClick:TCallPropEditor read FOnMenuClick write FOnMenuClick;
    property OnPopup:TNotifyEvent read FOnPopup write FOnPopup;
  end;

  TDsnSwitch = class(TSpeedButton)
  private
    FDsnRegister:TDsnRegister;
    FDsnMessageFlg:Boolean;
    FDsnMessage:String;
  protected
    procedure SetDsnRegister(Value:TDsnRegister);
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
  public
    constructor Create(AOwner: TComponent); override;
    procedure Loaded; override;
    procedure Click; override;
    procedure DesignOn;
    procedure DesignOff;
  published
    property DsnRegister:TDsnRegister read FDsnRegister write SetDsnRegister;
    property DsnMessageFlg:Boolean read FDsnMessageFlg write FDsnMessageFlg;
    property DsnMessage:String read FDsnMessage write FDsnMessage;
  end;

  TDsnCtrl = class(TClientAgent)
  private
    FDsnRegister: TDsnRegister;
    ClientDeath: Boolean;
  protected
    FMousePoint: TPoint;
    procedure TakeInstance;override;
    procedure ReleaseInstance;override;
    procedure ClientWndProc(var Message: TMessage);override;
    procedure ClientMouseDown(var Message: TWMMouse);virtual;
    procedure ClientMouseMove(var Message: TWMMouse);virtual;
    procedure ClientMouseUp(var Message: TWMMouse);virtual;
    procedure ClientPaint(var Message: TWMPaint);virtual;
    procedure ClientCaptureChanged(var Message: TMessage);override;
    procedure ClientPreResize(var Message: TMessage);virtual;
    procedure ClientResize(var Message: TResizeMessage);virtual;
    procedure ClientSelect(var Message: TMessage);virtual;
    procedure ClientSelectByInspect(var Message: TMessage);virtual;
    procedure ClientSetFocus(var Message: TMessage);virtual;
    procedure ClientDbClick(var Message: TWMMouse);virtual;
    procedure ClientContextMenu(var Message: TWMMouse);virtual;
    procedure ClientHandleChange(var Message: TMessage);virtual;
  public
    constructor CreateInstance(AClient: TWinControl); override;
    property DsnRegister: TDsnRegister read FDsnRegister;
  end;

  TDsnSwich = class(TDsnSwitch)
  end;
  
  procedure Register;
  function CompareParent(Item1, Item2: Pointer): Integer;


implementation

uses {for Register Method}
  DsnSpctr, DsnSubDp, DsnSubRS, DsnSubCl, DsnSelect;

const
  DsnSwc_GrpIdx = 2302;

type

  TDsnMenuItem = class(TMenuItem)
  private
    PropName:String;
    Value:String;
  end;

var
  UDsnStage: TDsnStage;

{ TDsnRegister }
constructor TDsnRegister.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FDesigning:= False;
end;

destructor TDsnRegister.Destroy;
var
  i: integer;
begin
  if Assigned(FHandler) then
  begin
    FHandler.Free;
    FHandler:= nil;
  end;

  if Assigned(FDsnCtrlList) then
  begin
    for i:= 0 to FDsnCtrlList.Count -1 do
    begin
      TDsnCtrl(FDsnCtrlList[i]).ClientDeath:= True;
      TDsnCtrl(FDsnCtrlList[i]).Free;
    end;
    FDsnCtrlList.Free;
  end;

  if Assigned(FTargetList) then
  begin
    FTargetList.Clear;
    FTargetList.Free;
  end;

  if DsnNotifies <> nil then
    DsnNotifies.Free;

  if DsnPartners <> nil then
    DsnPartners.Free; 

  inherited;
end;

procedure TDsnRegister.Notification(AComponent: TComponent; Operation: TOperation);
var
  i,n:integer;
begin
  inherited Notification(AComponent, Operation);
  if Operation = opRemove then
  begin
    if AComponent = FDsnStage then
    begin
      FDsnStage := nil;
    end;

    if AComponent = FDsnInspector then FDsnInspector := nil;
    if AComponent = FDsnPanel then FDsnPanel := nil;
    if AComponent = FArrowButton then FArrowButton := nil;

    if Assigned(FDsnCtrlList) then
      for i:= FDsnCtrlList.Count -1 downto 0 do
        if AComponent = TDsnCtrl(FDsnCtrlList[i]).Client then
        begin
          AlertClientDeath;
          TDsnCtrl(FDsnCtrlList[i]).ClientDeath:= True;
          // Free DsnCtrl in TDsnStage.ClientDeth
          FDsnCtrlList.Delete(i);
        end;

    if Assigned(FTargetList) then
    begin
      n:= FTargetList.IndexOf(AComponent);
      if n > -1 then
      begin
        FTargetList.ItemDeath(n);
        AlertTargetDeath;
        FTargetList.Delete(n);
        if not SameParent then
          FTargetList.Clear;
        FTargetList.SetPosition;
      end;
    end;
  end;
end;

procedure TDsnRegister.AlertClientDeath;
begin
end;

procedure TDsnRegister.AlertTargetDeath;
begin
end;

procedure TDsnRegister.SetDsnStage(Value:TDsnStage);
begin
  if Assigned(Value) then
  begin
    FDsnStage:=Value;
    FDsnStage.FreeNotification(Self);
    CutSizeX:= FDsnStage.FRubberband.MoveWidth;
    CutSizeY:= FDsnStage.FRubberband.MoveHeight;
    Color:= FDsnStage.FRubberband.Color;
    PenWidth:= FDsnStage.FRubberband.PenWidth;
    FDsnStage.FDsnRegister:= Self;
  end
  else
    FDsnStage:=nil;
end;

procedure TDsnRegister.SetDsnPanel(Value:TCustomCmpPlt);
begin
  if Assigned(Value) then
  begin
    FDsnPanel:=Value;
    FDsnPanel.FreeNotification(Self);
  end
  else
    FDsnPanel:=nil;
end;

procedure TDsnRegister.SetArrowButton(Value:TArrowButton);
begin
  if Assigned(Value) then
  begin
    FArrowButton:=Value;
    FArrowButton.FreeNotification(Self);
  end
  else
    FArrowButton:=nil;
end;

procedure TDsnRegister.SetDsnInspector(Value:TCustomInspector);
begin
  if Assigned(Value) then
  begin
    FDsnInspector:=Value;
    FDsnInspector.FreeNotification(Self);
  end
  else
    FDsnInspector:=nil;
end;

procedure TDsnRegister.SetDesigning(Value:Boolean);
var
 Item: TMenuItem;
 i:integer;
begin
  if Value = FDesigning then
    Exit;

  FDesigning:= Value;

  if Assigned(DsnPartners) then
    for i := 0 to DsnPartners.Count -1 do
      TDsnPartner(DsnPartners[i]).SetDesigning(FDesigning);

  if FDesigning then
  begin
    if Assigned(FDsnStage) then
    begin
      FDsnStage.FDsnRegister:= Self;
      CreateSubClass;
      CreateContextMenu;
      FDsnStage.SetFocus;
      FDsnStage.FDesigning:= True;
      FDsnStage.SetDesigning(FDesigning);
    end;

    if Assigned(FDsnPanel) then
    begin
      if Assigned(FArrowButton) then
      begin
        FDsnPanel.SetArrowButton(FArrowButton);
        FArrowButton.SetDsnPanel(FDsnPanel);
      end;
      FDsnPanel.Designing:= True;
    end;
    if Assigned(FDsnInspector) then
    begin
      FDsnInspector.Designing:= True;
      if Assigned(FDsnStage) then
        FDsnInspector.StageHandle:= FDsnStage.Handle;
    end;
  end
  else
  begin
    if Assigned(FDsnStage) then
    begin
      DestroySubClass;
      FDsnStage.FDesigning:= False;
      FDsnStage.SetDesignig(FDesigning);
    end;
    if Assigned(FContextMenu) then
    begin
      for i:= 0 to FContextMenu.Tag -1 do
      begin
        Item:= FContextMenu.Items[0];
        FContextMenu.Items.Remove(Item);
        FDsnStage.CoverMenu.Items.Add(Item);
      end;
      FContextMenu.Free;
      FContextMenu:= nil;
    end;
    if Assigned(FDsnPanel) then
    begin
      FDsnPanel.Designing:= False;
      FDsnPanel.SetTemplate(nil);
    end;
    if Assigned(FDsnInspector) then
      FDsnInspector.Designing:= False;
    if Assigned(FProps) then
    begin
      FProps.Free;
      FProps:= nil;
    end;
    if Assigned(FHandler) then
    begin
      FHandler.Free;
      FHandler:= nil;
    end;
    if Assigned(FTargetList) then
    begin
      FTargetList.Free;
      FTargetList:= nil;
    end;
  end;
end;

procedure TDsnRegister.SetSubClass(AParent: TWinControl);
var
  DsnCtrl: TDsnCtrl;
  procedure ProcA(AAParent:TWinControl);
  var
    List:TChildList;
    i:integer;
    CanCover: TCoverAccept;
    procedure ProcB(AHandle:Integer;Agent:TDsnCtrl);
    var
      BList:TChildList;
      j:integer;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女人****多毛耸耸8| 国产成人午夜99999| 亚洲一区二区三区爽爽爽爽爽 | 精品国产凹凸成av人网站| 在线91免费看| 欧美美女一区二区在线观看| 欧美日韩情趣电影| 欧美性猛交xxxxxx富婆| 欧美日韩三级视频| 制服丝袜在线91| 91麻豆精品国产自产在线观看一区 | 精品成人a区在线观看| 欧美va亚洲va在线观看蝴蝶网| 欧美电影免费提供在线观看| 日韩精品中文字幕一区二区三区| 日韩午夜av电影| 精品99久久久久久| 日本一区二区视频在线| 日韩一区中文字幕| 亚洲国产wwwccc36天堂| 日韩二区在线观看| 麻豆91小视频| 懂色av一区二区三区免费看| 91捆绑美女网站| 884aa四虎影成人精品一区| 色综合天天综合在线视频| av午夜精品一区二区三区| 欧美日韩一区二区三区四区五区| 国产91精品露脸国语对白| 成人永久aaa| 色综合色狠狠综合色| 欧美乱妇一区二区三区不卡视频| 日韩一区二区三| 国产午夜精品久久久久久久| 一区二区三区在线影院| 久久不见久久见免费视频1| 国产a精品视频| 欧美亚洲愉拍一区二区| 欧美xfplay| 亚洲欧美日韩国产手机在线| 日本视频免费一区| 成人动漫一区二区在线| 欧美午夜精品理论片a级按摩| 欧美不卡123| 亚洲三级电影全部在线观看高清| 免费av成人在线| av在线一区二区| 日韩视频免费观看高清在线视频| 中文字幕五月欧美| 日韩av中文字幕一区二区三区| 国产成人综合在线| 欧美精品一卡两卡| 99国产精品久久久| 国产精品私人影院| 韩国毛片一区二区三区| 色婷婷一区二区三区四区| 欧美日韩视频专区在线播放| 欧美国产精品中文字幕| 亚洲一区二区在线免费观看视频| 经典三级在线一区| 在线观看一区二区精品视频| 久久久久久久免费视频了| 亚洲电影在线免费观看| 成人免费视频免费观看| 日韩三级在线观看| 亚洲精品日日夜夜| 国产盗摄精品一区二区三区在线| 欧美精品tushy高清| 国产精品久久久久久久第一福利| 久久99精品网久久| 欧美日韩一区二区三区不卡| 日韩一区在线看| 国产成人av电影在线| 日韩一区二区三区视频在线观看 | 国产精品免费免费| 免费看日韩a级影片| 欧美日韩亚洲综合在线| 亚洲婷婷综合久久一本伊一区| 日本午夜一本久久久综合| 日韩欧美区一区二| 久久99精品国产麻豆婷婷洗澡| 久久伊99综合婷婷久久伊| 日韩欧美一级片| 五月天精品一区二区三区| av一本久道久久综合久久鬼色| 精品国产伦一区二区三区观看方式| 亚洲国产综合91精品麻豆| 成年人网站91| 国产精品网曝门| 国产91精品欧美| 国产欧美精品一区| 国产一区二区精品久久91| 精品国产91久久久久久久妲己| 青青国产91久久久久久| 91精品免费在线观看| 亚洲国产精品一区二区久久 | 成人午夜电影久久影院| 久久综合久久综合久久| 免费三级欧美电影| 日韩欧美中文一区| 日韩av中文字幕一区二区| 91精品国产综合久久久久久久| 水野朝阳av一区二区三区| 欧美片在线播放| 日韩三级电影网址| youjizz国产精品| ㊣最新国产の精品bt伙计久久| 成人免费视频视频| 久久亚洲欧美国产精品乐播| 久久精品二区亚洲w码| 日韩一二三区不卡| 日韩av电影一区| 日韩精品在线一区二区| 久草精品在线观看| 国产午夜精品一区二区| 成人动漫av在线| 亚洲欧美日韩电影| 欧美日韩专区在线| 天堂成人免费av电影一区| 欧美一级日韩一级| 精品一区二区三区在线播放 | 欧美精品一区二区三区蜜臀| 国产一区二区三区黄视频| 国产清纯美女被跳蛋高潮一区二区久久w| 激情五月播播久久久精品| 国产婷婷一区二区| 色综合中文字幕国产 | 亚洲欧美一区二区不卡| 亚洲精品乱码久久久久久久久| 国产精品国产三级国产专播品爱网| 久久精品亚洲乱码伦伦中文| 丁香婷婷深情五月亚洲| 日韩毛片一二三区| 欧美片在线播放| 国产一区二区日韩精品| 日韩伦理电影网| 在线电影欧美成精品| 国产一区二区三区美女| 亚洲欧美日韩久久| 日韩欧美在线不卡| 波多野结衣一区二区三区| 亚洲成人激情社区| 久久综合视频网| 一本大道av一区二区在线播放| 日本伊人色综合网| 中文字幕不卡在线| 欧美精品在线一区二区| 国产不卡视频在线观看| 午夜精品视频在线观看| 国产欧美日韩不卡免费| 欧美欧美欧美欧美首页| 国产suv精品一区二区6| 午夜精品福利视频网站| 国产日韩欧美高清在线| 91精品欧美一区二区三区综合在| 成人性生交大片| 视频一区二区中文字幕| 中文字幕中文字幕在线一区| 91精品国产综合久久福利| av电影在线观看不卡| 麻豆中文一区二区| 91香蕉视频在线| 精品久久久久久久久久久久久久久久久| 色婷婷激情久久| 麻豆久久久久久久| 亚洲人成伊人成综合网小说| 精品国产伦理网| 欧美日本在线视频| a4yy欧美一区二区三区| 久久99精品一区二区三区| 亚洲国产精品久久久久秋霞影院 | 久久久亚洲精品一区二区三区| 欧美性受xxxx| jizz一区二区| 精品一区二区三区不卡 | 欧美调教femdomvk| 成人午夜看片网址| 国产乱国产乱300精品| 蜜桃视频在线一区| 亚洲国产精品欧美一二99| 国产精品久久二区二区| 欧美极品xxx| 久久久久国色av免费看影院| 日韩欧美aaaaaa| 9191成人精品久久| 欧美在线免费观看视频| 99re热这里只有精品视频| 国产精品 欧美精品| 国产曰批免费观看久久久| 蜜臀va亚洲va欧美va天堂 | 色综合久久久久网| 亚洲不卡在线观看| 久久99精品久久久| 午夜av区久久| 一区二区高清免费观看影视大全| 中文字幕精品—区二区四季| 日本一区二区三级电影在线观看 | 国产日产欧美一区| 久久婷婷国产综合精品青草| 日韩欧美在线网站|