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

Windows 對話框
  顧名思義,對話框是應用程序創建的一個窗口,給出用戶一些信息或者接收用戶的輸入。Delphi 中沒有創建對話框的 模板(除了通用的對話框如打開對話框、字體對話框、顏色對話框等)。Delphi 本身使用 TForm 創建對話框。對話框可以使得臨時輸入的窗口創建 更加容易。不用 CreateWindow( ) 創建一個彈出窗口然后在上面添加控件,你只要制作一個資源模板,然后調用 DialogBox 就可以 了。本例中我們創建并使用資源模板,然后調用 Windows DialogBox( ) 函數。你可以參考 Win32 API 幫助的 “Dialog Boxes”部分。在程序示例里我使用 DialogBox( ) 創建了一個模式對話框。你需要為它準備好一個對話框資源文件 “Dlg1.RES”。 


對話框資源的創建
  你需要使用 brcc32.exe 編譯對話框資源。這在 Delphi 幫助文檔中沒有詳細說明。下面我們開始創建一個非常簡單的對話框資源 .RC 文件。

First DIALOG  12, 10, 206, 86
     STYLE WS_POPUP | WS_DLGFRAME | WS_CAPTION
     CAPTION " A Dialog Form"
     FONT 10, "MS Sans Serif"
     {
     LTEXT "Simple Dialog"  200, 8, 6, 196, 8
     PUSHBUTTON "OK"   IDOK, 48, 71,  32, 12
     }

  這是 C 語言代碼,不是 Pascal 代碼。第一個“First”是資源名字,就像下面一行的“MyIcon”。

MyIcon  ICON  Floppy.ico

對于 .RC 文件內的圖標,DIALOG 是一種資源,12、10、206、86 是對話框的標準的上、左、寬、高參數(單位不是像素,對話框單位參 見 Win32 API 幫助的“GetDialogBaseUnits”)。上和左與它的父窗體的上和左相關,以父窗體為參考原點。接下里來 是:STYLE WS_POPUP | WS_DLGFRAME | WS_CAPTION ,這些設置了對話框窗體的創建風格( C 語言中 的 | 和 Pascal 語言中的 or 一樣)。還有一些其他的對話框風格:

DS_LOCALEDIT -指定編輯框控件在對話框上 使用程序數據模塊的內存。默認情況下,對話框上的編輯框控件是使用應用程序數據模塊之外的內存的。如果沒有使用這個標志,那么不要向編輯框發 送 EM_GETHANDLE 和 EM_SETHANDLE 消息,因為控件沒有存儲在程序的數據模塊。

DS_MODALFRAME -創建一個模式對話框,對話框可以通過指定 WS_CAPTION 和 WS_SYSMENU 結合標題欄和系統菜單。

DS_NOIDLEMSG -禁止 Windows 或其它程序在對話框顯示時向它的 owner 窗體發送 WM_ENTERIDLE 消息。

DS_SYSMODAL -創建一個系統的模式對話框。

如果你使用了 WS_CAPTION 風格,那么“CAPTION " A Dialog Form"”這行將在對話框標題上放上這個字符 串,“FONT 10, "MS Sans Serif"”將會設置對話框內所有控件字體和尺寸。{ 和 } 對應 Pascal 中 的 begin 和 end ,在 { } 之間你可以放置希望出現在對話框上的控件,PUSHBUTTON 是一個按鈕,參數跟 在 PUSHBUTTON 之后,形式如:
PUSHBUTTON "Text on Control" IDNUMBER, Left, Top, Width, Height 后面的參數為對話框單位而不是像素。這里創建的對話框 206 單位寬、86 單位高、左側距父窗體 12 單位、頂部距父窗體 10 單位,對話框 上有靜態文本框和按鈕兩個控件。

其他對話框控件
  對話框控件的語法形式為:
controlName text, IDnumber, Left, Top, Width, Height, style, extended-style

DEFPUSHBUTTON "Cancel" IDCANCEL, 8, 67,  32, 12
LTEXT "Static Text Left aligned"  201, 5, 21, 196, 24
CTEXT "Static Text Centered"     202, 18, 12, 170, 8
ICON  "Icon" -1, 1,1,0,0
EDITTEXT 300, 9, 47, 180, 50, ES_MULTILINE, WS_EX_CLIENTEDGE
CHECKBOX "Check Box", 100, 10, 60, 69, 8
AUTOCHECKBOX "Auto CheckBox", 101, 140, 60, 61, 8
RADIOBUTTON "radio", 400, 8, 32, 64, 8
AUTORADIOBUTTON "needs WS_GROUP", 401, 8, 42, 64, 8, WS_GROUP
GROUPBOX "GroupBox", -1, 4,22,150,42
   
你可以通過放置控件類型名字參數創建大部分 Windows 控件,參見下文的“在對話框中包含常規控件”部分。

  使用 DialogBox(hInstance, lpTemplate, hWndParent, lpDialogFunc);
參 見程序代碼的“procedure DoDialog”,你會發現它設置對話框使用的一些變量,然后調用 DialogBox( )。 lpTemplate 為資源名稱的 PChar 類型,父窗體為 hForm1 ,lpDialogFunc 設置為對話框函數的地址(參見幫助中 的 DialogProc 部分)。這個 DialogProc 類似于 WndProc ,用于獲取對話框消息,參見代碼中 的 DialogProc 。 WM_INITDIALOG 消息被發送后對話框就被創建了,因此你可以在這里設置控件。由于對話框是從模板創建的,所以 控件的句柄還不知道,這樣可以用 ID 號碼訪問它們。通過 GetDlgItem(hWnd,IDNUMBER) 獲取控件的句柄,你可以使用大量控件 的 SendMessage 或者狀態變化(Enable( ) 等)。有幾個特定的對話框函數根據 ID 編號直接使用 (SendDlgItemMessage、 CheckDlgButton、 SetDlgItemText、 GetDlgItemText)。 在 WM_COMMAND 消息中,LOWORD(wParam) 就是控件的 ID 號碼。


有待完善…… 


對于本文的對話框演示程序,使用的“Dlg1.rc”源文件代碼如下:

Z1 ICON Done2.ICO
Z2 ICON Flop.ICO

First DIALOG  12, 10, 206, 86
     STYLE WS_POPUP | WS_DLGFRAME | WS_CAPTION | WS_SYSMENU
     CAPTION " A Dialog Form"
     FONT 10, "MS Sans Serif"
     {
     CTEXT "Dialogs are really NON Delphi" 200, 18, 1, 170, 10
     ICON  "Z1" -1, 1,1,0,0
     ICON  "Z2" -1, 189,1,0,0
     CTEXT "Checkbox was Unchecked"     201, 18, 12, 170, 8
     LTEXT " "  202, 5, 21, 196, 24
     EDITTEXT      300, 14, 47, 100, 10
     AUTOCHECKBOX "Show MessageBox", 100, 10, 60, 69, 8
     AUTOCHECKBOX "Check me", 101, 140, 60, 61, 8
     DEFPUSHBUTTON "OK"   IDOK, 48, 71,  32, 12, WS_GROUP
     PUSHBUTTON "set Edit Text"   401, 108, 71,  44, 12,
     }
 
  使用 brcc32.exe 編譯 Dlg1.rc 文件,我不知道為什么可以不使用“ #include <windows.h>”,但是確實通過編譯了(生成 Dlg1.RES 文件)。

對話框程序
  本程序演示了創建與使用 Windows 對話框的方法,你需要使用上面代碼編譯得到的 Dlg1.RES 文件。  

program Dialogs;

uses
  Windows, Messages, smallUtils;
{$R *.RES}
{$R Dlg1.RES}
var
  wClass: TWndClass;
  hForm1, hExitBut, hDlgBut, hCheckCB, hEdit1,
  hLabel1, Font1, hLabel2, hLabel3: THandle;
  mainMsg: TMSG;
  Rect1: TRect;
  DlgText, DlgEditText: String;
  DlgChk, Dlg2Chk: Boolean;

function DialogProc(hWnd,Msg,wParam,lParam:Longint):Boolean; stdcall;
{這里處理對話框消息。有些消息如 WndProc 消息(WM_COMMAND、WM_CLOSE)列
在這里,有些消息(WM_INITDIALOG)沒有列出。在對話框 Proc 經常使用
 DlgItem ID 而不是 hWnd }
var
  OKrect:TRect;
begin
  Result := False;
  case Msg of
WM_INITDIALOG: begin
                 {WM_INITDIALOG 是設置你的 Dlg Items 屬性的地方,有些特定的
                 DlgItem 函數(SendDlgItemMessage、SetDlgItemText)
                 對此比較有用。}
                 DlgEditText := '';
                 SendMessage(hWnd, WM_SETICON, 1, LoadIcon(hInstance,'Z1'));
                 {對話框默認使用圖標,你需要設置圖標}
                 SendDlgItemMessage(hWnd,200,WM_SETFONT,Font1, 0);
                 {SendDlgItemMessage 使用 ID 編號代替 hWnd}
                 CheckDlgButton(hWnd,100,BST_CHECKED);
                 if SendMessage(hCheckCB,BM_GETCHECK,0,0) = BST_CHECKED then
                 begin
                   {你可以從主窗體獲取信息來設置對話框}
                   SetWindowText(GetDlgItem(hWnd,201),'多選按鈕被勾選');
                   {這里可以使用 SetWindowText,但是一樣可以使用 SetDlgItemText。
                   SetDlgItemText(hWnd,201,'檢查框被勾選');}
                   EnableWindow(GetDlgItem(hWnd,101),False);
                   {大部分改變窗口的函數對于對話框一樣有效}
                 end;
                 {SetWindowText(GetDlgItem(hWnd,202),PChar(DlgText));}
                 SetDlgItemText(hWnd,202,PChar(DlgText));
                 SetDlgItemText(hWnd,300,PChar(GetWindowStr(hEdit1)));
                 GetWindowRect(GetDlgItem(hWnd,IDOK),OKrect);
                 SetCursorPos(OKrect.Left+10,OKrect.Top+10);
               end;
WM_COMMAND: begin
              {和 MessageProc 的 WM_COMMAND 消息不一樣,wParam 與 LParam
              有不同的用途。}
              if LOWORD(wParam) = IDOK then
              begin
                {對話框在 LOWORD(wParam) 使用 DlgItem ID}
                if (IsDlgButtonChecked(hWnd,101) = BST_CHECKED)
                then  Dlg2Chk := True;
                if (IsDlgButtonChecked(hWnd,100) = BST_CHECKED) then
                begin
                  MessageBox(hWnd,'對話框上多選按鈕被勾選',
                    '退出對話框',MB_OK or MB_ICONQUESTION);
                  DlgChk := True;
                end;
                DlgEditText := GetWindowStr(GetDlgItem(hWnd,300));
                EndDialog(hWnd,1);
                Result := True;
              end
              else if LOWORD(wParam) = 401
                   then SetDlgItemText(hWnd,300, '新的編輯框文本')
                   else if LOWORD(wParam) = 101
                        then  MessageBox(hWnd,'對話框上多選按鈕被單擊',
                                  '單擊它',MB_OK or MB_ICONQUESTION);
            end;
WM_CLOSE: begin
            {和 MessageProc 不一樣,你需要使用 EndDialog 退出一個對話框}
            EndDialog(hWnd,1);
            Result := True;
          end;
  end;
end;

procedure DoDialog;
var
  Dsize: TdriveSize;
begin
  if hLabel3 <> 0 then
  begin
    DestroyWindow(hLabel3);
    while PeekMessage(mainMsg, 0, 0, 0, PM_REMOVE)
    do  DispatchMessage(mainMsg);
    hLabel3 := 0;
  end;
  Dsize := DiskSpace('C:\');
  DlgText := 'C 盤總容量為  '+Int2Str(Dsize.TotalS)+
           ' 字節 - 可用空間為  '+ Int2Str(Dsize.FreeS);
  {DlgText 被用于對話框的靜態標簽控件,你應該在調用 DialogBox( ) 前設置好對話框
  需要的所有的變量。}
  DialogBox(hInstance, 'First', hForm1, @DialogProc);
  {DialogBox 將根據資源 DIALOG 的 'First' 創建一個模式對話框,它以 hForm1 作為
  父窗體,以 DialogProc 作為 WndProc (MessageProc)}
  {可以從對話框獲取返回值}
  if DlgChk then
  MessageBox(hForm1,'這里 DlgChk = True',
      '對話框返回值',MB_OK or MB_ICONQUESTION);
  if Dlg2Chk then
  begin
    hLabel3 := CreateWindow('Static', '"Check me" 多選按鈕被勾選',
         WS_VISIBLE or WS_CHILD or SS_CENTER,6,200,370,29,hForm1,0,hInstance,nil);
    SendMessage(hLabel3, WM_SETFONT, Font1,0);
  end;
  SetWindowText(hLabel2,@DlgEditText[1]);
  DlgChk := False;
  Dlg2Chk := False;
end;

function MessageProc(hWnd,Msg,wParam,lParam:Integer):Integer; stdcall;
begin
  case Msg of
    WM_COMMAND: if lParam = abs(hExitBut)
                then PostMessage(hForm1,WM_CLOSE,0,0)
                else if (LParam = abs(hDlgBut))
                     then DoDialog;
    WM_DESTROY: PostQuitMessage(0);
  end; // case 語句結束
  Result := DefWindowProc(hWnd,Msg,wParam,lParam);
end;

begin     // 主程序開始 //
  DlgChk := False;
  Dlg2Chk := False;
  hLabel3 := 0;

  Font1 := CreateFont(-16,0,0,0,FW_BOLD,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
   CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,VARIABLE_PITCH or FF_SWISS,'Arial');

  wClass.hInstance := hInstance;
  with wClass do
  begin
    style :=        CS_PARENTDC or CS_BYTEALIGNWINDOW;
    hIcon :=        LoadIcon(hInstance,'MAINICON');
    lpfnWndProc :=  @MessageProc;
    hbrBackground:= COLOR_BTNFACE+1;
    lpszClassName:= 'Form Class';
    hCursor :=      LoadCursor(0,IDC_ARROW);
  end;
  RegisterClass(wClass);

  SetRect(Rect1,0,0,430,300);
  if not AdjustWindowRect(Rect1,WS_CAPTION or WS_MINIMIZEBOX or WS_SYSMENU,False)
  then SetRect(Rect1,0,0,438,328);

  hForm1 := CreateWindow(wClass.lpszClassName, '對話框演示程序',
    WS_CAPTION or WS_MINIMIZEBOX or WS_SYSMENU or WS_VISIBLE,
    (GetSystemMetrics(SM_CXSCREEN) div 2)-200,
    (GetSystemMetrics(SM_CYSCREEN) div 2)-160,
    Rect1.Right-Rect1.Left, Rect1.Bottom-Rect1.Top,
    0, 0, hInstance, nil);

  hLabel1 := CreateWindow('Static', '對話框演示',
         WS_VISIBLE or WS_CHILD or SS_CENTER,8,8,388,22,hForm1,0,hInstance,nil);
  SendMessage(hLabel1,WM_SETFONT,Font1,0);

  hLabel2 := CreateWindow('Static',
         '在下面輸入你想放置到對話框的文字'#10'對話框編輯框如數的文字將在此顯示',
         WS_VISIBLE or WS_CHILD or SS_LEFT,10,38,290,28,hForm1,0,hInstance,nil);
  SendMessage(hLabel2,WM_SETFONT,GetStockObject(ANSI_VAR_FONT),0);

  hExitBut := CreateWindow('Button','退 出',
    WS_VISIBLE or WS_CHILD or BS_PUSHBUTTON or BS_TEXT,
    350,270,74,24, hForm1,0, hInstance,nil);

  hEdit1 := CreateWindowEx(WS_EX_CLIENTEDGE,'Edit','這里輸入的文字將顯示在對話框中',
    WS_VISIBLE or WS_CHILD or ES_LEFT or ES_AUTOHSCROLL,
    16,78,410,21,hForm1,0,hInstance,nil);
  SendMessage(hEdit1,WM_SETFONT,GetStockObject(ANSI_VAR_FONT),0);

  hDlgBut := CreateWindow('Button','顯示對話框',
    WS_VISIBLE or WS_CHILD or BS_PUSHBUTTON or BS_TEXT,
    30,160,144,24, hForm1,0, hInstance,nil);
  SendMessage(hDlgBut, WM_SETFONT, GetStockObject(ANSI_VAR_FONT),0);

  hCheckCB := CreateWindow('Button','對話框多選檢測按鈕',
    WS_CHILD or BS_AUTOCHECKBOX or WS_VISIBLE,
    20,130,190,24, hForm1,0,hInstance,nil);
  SendMessage(hCheckCB, WM_SETFONT, GetStockObject(ANSI_VAR_FONT),0);

  while GetMessage(mainMsg,0,0,0) do
  begin
    TranslateMessage(mainMsg);
    DispatchMessage(mainMsg);
  end;
  DeleteObject(Font1);
  DlgText := '';
  DlgEditText := '';
end.

 

在對話框中包含常規控件
  為了在對話框里創建預定義的控件類,可以使用如下的一般語法,參數為:

ClassName text, IDnumber, x, y, width, height , style , extended-style
 X 和 width 是水平方向單位,是對話框基本寬度單位的 1/4 ,Y 和 height 是豎直方向單位,是對話框基本高度單位的 1 /8 。當前對話框基本單位是計算機從當前系統字體的高度和寬度得到的,GetDialogBaseUnits( ) 函數可以返回對話框基本單位的對應 像素值。

ControlName - 預定義的控件的類名,比如 BUTTON、 COMBOBOX、 EDIT、 LISTBOX、 SCROLLBAR、 STATIC 等。

text - 指 定控件上顯示的文本。文本位置在控件指定尺寸之內或者接近控件。這個參數是有雙引號(")括起來的 0 到多個字符。字符串自動以零結束并在資源文件返回 結果中轉換成 Unicode 字符。默認情況下,雙引號括起的字符是 ANSI 字符,交換碼順序被認為是按位交換碼順序。如果字符串加上 L 前綴, 字符串被認為是寬字符組成,交換碼順序被認為是兩位交換碼,這就是 Unicode 字符。如果雙引號本身在文本內,那么需要連續使用雙引號兩次。 And 符號(&)放在文本中表示后面跟著的字符是控件的助記符(加速字符),當控件顯示的時候,& 不會出現,后面的字符會自動加上下 劃線顯示,用戶可以通過按下下劃線助記符來選擇這個控件。為了在字符串中使用 & 字符,你需要連續兩次使用(&&)。

IDnumber - 指定控件標識。這個值為 Word 類型,介于 0 到 65,535 之間。

x - 給出控件在對話框客戶區域左邊距,這個值為 Word 類型,介于 0 到 65,535 之間。這個坐標軸在對話框的客戶區域的左邊緣為 0 對話框單位。

y - 給出控件在對話框客戶區域上邊距,這個值為 Word 類型,介于 0 到 65,535 之間。這個坐標軸在對話框的客戶區域的上邊緣為 0 對話框單位。

width - 指 定控件寬度,這個值為 Word 類型,介于 1 到 65,535 之間。寬度單位為 1/4 字符。 Specifies the width of the control. This value must be a Word value in the range 1 through 65,535. The width is in 1/4-character units. 
height - 指定控件高度,這個值為 Word 類型,介于 1 到 65,535 之間。寬度單位為 1/8 字符。 

style - 指定控件的風格。利用邏輯或操作( | )組合多個風格。 

extended-style - 指定擴展風格(WS_EX_xxx)。你必須給定一種風格以便使用擴展風格
Posted on 2008-10-03 21:55 micheal's tech 閱讀(1946) 評論(0)  編輯 收藏 引用 所屬分類: visual c++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲综合电影| 亚洲国产毛片完整版 | 欧美在线观看网站| 99视频在线观看一区三区| 亚洲免费观看视频| 亚洲欧美日本伦理| 久久国产精品久久久久久电车| 久久久久久久综合| 欧美电影打屁股sp| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 久久精品国产99国产精品| 久久久久国内| 欧美日韩视频一区二区| 国产女人18毛片水18精品| 精品成人在线视频| 亚洲午夜激情| 久久一区亚洲| 亚洲免费电影在线观看| 午夜精品一区二区三区四区| 快she精品国产999| 国产精品成人一区二区| 亚洲国产成人av| 午夜日韩在线观看| 亚洲欧洲一区| 久久性色av| 国产毛片久久| 亚洲色在线视频| 欧美国产视频在线| 亚洲男人的天堂在线观看 | 欧美精品18+| 国产精品久久久久高潮| 亚洲高清三级视频| 欧美一区二区精品在线| 91久久亚洲| 久久久久91| 国产日韩欧美日韩大片| 亚洲婷婷在线| 亚洲精品欧美日韩| 久久―日本道色综合久久| 国产精品入口福利| 亚洲自拍偷拍麻豆| 亚洲精品欧美激情| 欧美精品自拍偷拍动漫精品| 影音先锋久久资源网| 欧美一区二区视频在线| 999亚洲国产精| 欧美精选在线| 日韩小视频在线观看专区| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧美国产精品va在线观看 | 欧美韩日一区| 久久久精品tv| 激情偷拍久久| 免费人成网站在线观看欧美高清| 欧美一级电影久久| 国产欧美日韩亚洲一区二区三区| 亚洲欧美国产不卡| 亚洲主播在线| 国产亚洲精品久| 久久久青草婷婷精品综合日韩| 亚洲欧美国产日韩天堂区| 欧美性色aⅴ视频一区日韩精品| 99香蕉国产精品偷在线观看| 亚洲国产精品女人久久久| 麻豆av一区二区三区| 亚洲国产一区二区视频| 亚洲国产欧美不卡在线观看| 欧美~级网站不卡| 亚洲巨乳在线| 在线亚洲一区| 国产欧美日韩一区二区三区| 久久久91精品国产| 麻豆精品视频在线观看| 亚洲欧洲日韩综合二区| 亚洲激情一区| 国产精品成人观看视频免费| 亚洲免费影院| 欧美影院在线播放| 亚洲国产欧美在线人成| 日韩一级在线| 国内欧美视频一区二区| 欧美激情在线| 国产精品日韩欧美| 猫咪成人在线观看| 欧美日韩国产成人在线观看| 久久精品国产一区二区三| 欧美精品www在线观看| 日韩亚洲国产精品| 亚洲免费中文| 在线免费精品视频| 亚洲日本理论电影| 国产亚洲免费的视频看| 亚洲国产精品传媒在线观看| 欧美午夜激情视频| 久久综合久久久久88| 欧美精选在线| 久久深夜福利免费观看| 欧美精品成人91久久久久久久| 新狼窝色av性久久久久久| 久热综合在线亚洲精品| 亚洲欧美中文另类| 欧美成人精品影院| 久久精品视频免费| 欧美视频一区二区三区在线观看| 美女精品在线| 国产精品视频| 亚洲精品一区二区三区99| 韩国av一区| 午夜欧美理论片| 99这里只有精品| 久久视频在线视频| 久久精品成人欧美大片古装| 欧美日韩理论| 最新高清无码专区| 亚洲国产精品久久久久婷婷884 | 一区二区三区四区在线| 在线观看成人小视频| 亚洲免费视频一区二区| 99精品欧美| 欧美va天堂| 免费永久网站黄欧美| 国产有码一区二区| 午夜精品视频在线| 欧美中文字幕在线播放| 国产精品久久婷婷六月丁香| 亚洲人午夜精品| 亚洲三级视频在线观看| 欧美99在线视频观看| 欧美激情亚洲视频| 亚洲乱码久久| 欧美日韩激情网| 在线综合视频| 性色av一区二区三区红粉影视| 国产精品青草久久久久福利99| 日韩一区二区精品葵司在线| 正在播放亚洲| 国产精品成人一区二区艾草| 亚洲视频一二| 久久成人国产| 在线观看国产欧美| 毛片av中文字幕一区二区| 欧美高清视频在线| 99re6热只有精品免费观看| 欧美日韩1区2区3区| 一区二区欧美视频| 欧美一区不卡| 韩国成人精品a∨在线观看| 久久精品伊人| 亚洲国产精品久久久久秋霞蜜臀 | 国产欧美韩国高清| 国产九区一区在线| 久久精品成人| 欧美激情视频给我| 中文精品视频| 国产伦精品一区二区三区免费迷| 亚洲欧美精品在线观看| 久久久久久夜精品精品免费| 激情欧美日韩| 欧美日韩国产综合视频在线观看中文 | 亚洲视频在线观看免费| 欧美性猛交99久久久久99按摩| 亚洲私人影吧| 麻豆av福利av久久av| aⅴ色国产欧美| 国产欧美精品xxxx另类| 美女主播精品视频一二三四| 99精品热视频只有精品10| 久久久久一区二区三区| 日韩视频欧美视频| 国产丝袜一区二区三区| 欧美电影免费| 欧美一区二区精品| 亚洲美女av在线播放| 久久免费国产| 亚洲欧美国产高清| 亚洲另类黄色| 一区二区三区在线观看视频 | 国产精品日本| 欧美成人a∨高清免费观看| 亚洲一二三区精品| 欧美激情1区2区3区| 欧美影院午夜播放| 夜夜精品视频一区二区| 伊人狠狠色丁香综合尤物| 欧美色视频日本高清在线观看| 麻豆成人综合网| 香蕉成人久久| 中文亚洲免费| 亚洲黄色成人网| 麻豆免费精品视频| 欧美一区二区三区免费视频| 日韩一级视频免费观看在线| 狠狠色狠狠色综合人人| 国产精品久久久久久亚洲调教| 欧美国产专区| 欧美91大片| 免费av成人在线| 久久人91精品久久久久久不卡| 欧美一级淫片播放口| 亚洲影视在线播放|