亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C++ Builder 可視化組件庫(VCL)中的對象、組件與控件

2019-11-17 05:19:56
字體:
來源:轉載
供稿:網友
    圖2 - 1為可視組件庫的分層結構的簡圖,圖中顯示出了樹狀分層結構的五個主要的分支。

C++ Builder 可視化組件庫(VCL)中的對象、組件與控件


2.4.1 TObject分支
    下面幾部分分別對包含于五個主要分支中的類做出簡要地描述,為完整地說明VCL對象的分層結構,引用了包含于產品中的VCL對象分層結構圖。
    所有的VCL對象都派生于TObject,其方法定義了構造、析構、消息處理等基本特征。VCL對象的許多強大的功能都建立在TObject給出的這些方法的基礎之上。通過提供下列方法,TObject封裝了所有VCL對象最基本的通用特征:
· 在對象被創建或銷毀時響應的能力。
· 對象的類型和實例信息,及有關對象發布的屬性的運行時類型信息(RTTI)
· 支持消息處理。
    TObject是許多簡單類的直接祖先。在這一分支中所包含的類有一個共同的重要的特性,它們都是暫時的。這是指,這些類都沒有用來在對象被銷毀之前保存狀態的方法,它們不是固有的。
    在這一分支中一個較主要的類為異常(Exception)類。它提供一組內嵌的異常類用于自動處理除數為零的錯誤、文件I/O錯誤、非法的類型匹配及許多其他的異常情況。
    包含于TObject分支的還有一些封裝數據結構的類,例如:
· TBits,存儲了一個布爾型“數組”的類。
· TList,鏈接列表的類。
· TStack ,包含一個“后進先出”的指針數組的類。
· TQueue,包含一個“先進先出”的指針數組的類。
    此外,你還可以發現一些封裝了外部對象的類,如TPRinter,它封裝了Windows打印機接口,TRegistry,它封裝了底層系統注冊及其函數。
    TStream是這一分支里其他類型的典型例子。TStream是流對象的基類,可以與如磁盤文件、動態內存等等各種存儲介質進行讀寫操作。
    可以看到,這一分支中包含許多不同類,對于一個開發者來說,這些類都非常有用。

2.4.2 TPersistent分支
    在VCL分層結構中直接在TObject之下的是TPersistent。TPersistent給其下所有的類添加了兩個重要的方法:SaveToStream和LoadFromStream。這些方法向對象提供固有特性。例如:當窗體設計器需要創建DFM文件(存儲窗體及其組件信息的文件)時,它循環檢查窗體的組件數組,并對其中所有的組件都調用SaveToStream方法。每個組件都“知道”如何將改變了的屬性寫入流中(如文本文件)。反過來,若窗體設計器需要從DFM文件中裝入組件屬性時,它循環檢查窗體的組件數組,并對其中所有的組件都調用LoadFromStream方法。因此,任何TPersistent的派生類都有保存狀態信息和需要時還原它們的能力。
    在這一分支中包含的類主要有:
· TGraphicsObject,圖形對象的基類,封裝了Windows圖形對象:TBrush、TFont、TPen。
· TGraphic,圖標、位圖、圖元文件等能存儲和顯示可視圖像的對象的基類,封裝了TBitmap、TIcon和TMetaFile。
· TStrings ,串列表對象的基類。
· TClipboard,封裝了Windows剪貼板對象,它包含從應用程序中剪下或復制的文本或者圖形。
· TCollection、TOwnedCollection和TCollectionItem,包含非凡預定義項的索引集。

2.4.3 TComponent分支
    TComponent是所有VCL組件的共同祖先。組件就是在設計時可在窗體中操縱的對象。雖然名為可視組件庫,其實VCL中包含的大部分對象為非可視化的。
    VCL組件都是固有的對象,其功能主要有:
· 可出現在組件面板上并可在窗體設計器中修改。
· 可擁有和治理其他的組件。
· 增強的流及文件治理能力。
· 可通過New Objects對話框中ActiveX頁的向導程序轉換成ActiveX控件或其他COM對象。
    TComponent扮演了一個所有組件都可插入的標準“總線”的角色。TComponent通過Name和Owner屬性及一些方法規定組件在設計時的行為。所有派生于TComponent的類都有Name和Owner屬性。Owner屬性值,也即組件的屬主負責該組件對象的銷毀。
    在這一分支中包含的類主要有:
· TMainMenu 為窗體提供菜單欄及相應的下拉菜單的類。
· TTimer 包含Windows API 中的計時器函數的類。
· TOpenDialog、TSaveDialog、TFontDialog、TFindDialog、TColorDialog等,是通用Windows對話框類。
· TActionList,包含組件或控件,如菜單項和按鈕的動作列表的類。
· TScreen,負責治理應用程序創建的窗體和數據模塊,當前的活躍窗體及其上的活躍控件、屏幕尺寸和分辨率,應用程序使用的光標和字體等內容的類。

2.4.4 TControl分支
    所有的控件都是可視化對象,即它們在運行時可見并可被用戶操縱。且它們都有作為可視化控件所共有的屬性、方法和事件,例如控件的位置、光標、與控件關聯的提示、用來描繪或移動控件的方法、用來響應鼠標動作的事件等。
    TComponent定義所有組件的行為,TControl則進一步定義了所有可視化控件的行為。包含畫圖例程、標準Windows事件及容器特性。
    在這一分支中一組較重要的類為TGraphicControl。TGraphicControl控件類必須能描繪它們自己并且從不接受焦點。在這組控件中主要包含:
· TImage,一種顯示圖形類圖像的控件。
· TLabel,一種在窗體中顯示文字的控件。
· TBevel,一種表示邊緣斜角的控件。
· TPaintBox,一種提供畫布的控件,應用程序能夠使用畫布創建及生成顯示圖像。
    注重到這些控件包含通用的畫圖例程(畫圖、重畫、使無效等),但C++Builder不必為它們分配窗口句柄,因為它們從不需要接受焦點。

2.4.5 TWinControl分支
    TWinControl是為所有的窗口控件的基類。下面的是窗口控件的幾個特征:
· 窗口控件是應用程序運行時能接受焦點的控件。
· 也許還有其他控件可以顯示數據,但是只有當該控件是一種窗口控件時,用戶才能使用鍵盤來與之交互。
· 窗口控件能包含其他控件。
· 包含其他控件的控件是父代控件。只有窗口控件能夠作為一個或多個子控件的父代控件。
· 窗口控件有窗口句柄。
    除了能接受焦點外,TWinControl與TControl基本相同。這意味著它們不但包含許多標準Windows事件,同時Windows還必須給它們分配窗口句柄。這一分支中包含了兩大類控件,一種是由Windows自動描繪的(包括TEdit、TListBox、TComboBox、TPageControl等),另一種是C++Builder自定義的(包括TDBNavigator、TMediaPlayer、TGauge等)。不過,你根本不必關心控件如何描繪它們自己或如何響應事件,這些都已被C++Builder所完全封裝。

2.4.6 TControl的共同屬性
    所有可視化控件(TControl的后裔)共享的屬性包括:
· 位置、尺寸及排列屬性。
· 顯示屬性。
· 父代屬性。
· 導航屬性。
· 拖放屬性。
· 拖動-??繉傩?。
· 動作(Action)屬性。
    這些屬性是從TControl繼續而來的,它們都是發布屬性,因此,只對于那些適用的組件它們才會出現在對象觀察器中。例如:TImage未發布Color屬性,因為它的顏色是由它所顯示的圖形決定的。
    1、Action(動作)屬性
    Action可以讓一些動作共享代碼(例如:當工具欄按鈕和菜單項所做的事相同),并且依靠于應用程序的狀況,提供了簡單的易實現的方法控制動作的有效與否。
· Action指定與控件相關的動作。
· ActionLink包含與控件相關的動作鏈接對象。
    2、位置、尺寸及排列屬性
    這些屬性用于定義控件在窗體或容器控件中位置和尺寸:
· Height,設置垂直尺寸。
· Width,設置水平尺寸。
· Top,設置上邊界。
· Left,設置左邊界。
· AutoSize,指定控件尺寸是否自動地適應其中的內容。
· Align,確定控件在容器(父代控件)內部如何排列。
· Anchor,指定控件相對于其父代控件的定位。
    下列屬性確定控件整個客戶區的高度、寬度、尺寸:
· ClientHeight,以像素為單位指定控件客戶區的高度。
· ClientWidth,以像素為單位指定控件客戶區的寬度。
    對于非可視化組件,這些屬性都是不可訪問的,但是C++Builder記錄下了將組件圖標放置在窗體的何處。大多數情況下可以通過操縱控件的圖像或使用排列面板來設置和改變這些屬性,同時,也能在運行時改變它們。 三層交換技術 交換機與路由器密碼恢復 交換機的選購 路由器設置專題 路由故障處理手冊 數字化校園網解決方案

    3、顯示屬性
    下面的屬性控制控件的常規外觀:
· Color,改變控件的背景色。
· Font,改變文本的顏色、類型、樣式和尺寸。
· Cursor,指定當光標通過控件時,用于表示鼠標指針的圖像。
· DesktopFont,指定控件在寫入文本時是否使用Windows圖標字體。
    4、父代屬性
    為了在你的應用程序中保持一致的外觀,你可以通過設置父代屬性來使任何控件和它們的父代控件看上去都很相似。
· ParentColor,確定控件可以到哪里找到它們的顏色信息。
· ParentFont,確定控件可以到哪里找到它們的字體信息。
· ParentShowHint,確定控件到哪里弄清楚幫助提示應如何顯示。
    5、導航屬性
    下面的屬性確定用戶如何在窗體的控件之中定位:Caption,包含作為組件標號的字符串。要為字符串中的字符加下劃線,需在該字符之前加一連字符(&)。這類字符被稱為快捷鍵。用戶按下Alt鍵的同時鍵入加下劃線的字符,就可選擇控件或菜單項。
    6、拖放屬性
    有兩個組件屬性影響拖放操作:
· DragMode,確定拖動何時開始。DragMode的缺省值是dmManual,應用程序必須調用BeginDrag方法來開始拖動。當DragMode是dmAutomatic時,鼠標鍵一按下,拖動即開始。
· DragCursor,指定鼠標指針在可拖放組件上方時的外形。
    7、拖動-??繉傩?br />    下面的屬性控制拖動-??坎僮鳎?br />· Floating,指示控件是否為浮動的。
· DragKind,指定控件正進行正常地拖動還是進行停靠操作。
· DragMode,確定控件如何開始拖放或拖動-??坎僮?。
· FloatingDockSiteClass,當控件為浮動的時,指定控件的臨時寄主類。
· DragCursor,指定拖動時的光標外形。
· DockOrientation,指定控件與其他同時??坑谙嗤复丶械目丶年P系。
· HostDockSite,指出控件所??康目丶?br />
2.4.7 TControl通用標準事件
    VCL中的控件都定義了一些標準事件。下面的事件是TControl類所聲明的一部分,因此所有TControl的派生類都可用:
· OnClick,用戶單擊控件觸發。
· OnContextPopup,用戶右擊控件或用其他方式激活彈出式菜單(比如使用鍵盤)時觸發。
· OnCanResize,試圖調整控件大小時觸發。
· OnResize,在控件調整大小之后立即觸發。
· OnConstrainedResize,在OnCanResize發生以后立即觸發。
· OnStartDock,當用戶以DragKind屬性為dkDock的方式開始拖動控件時觸發。
· OnEndDock,當對象的拖動結束,或進行了??坎僮饔只蚪K止拖動時觸發。
· OnStartDrag,當用戶通過單擊控件并保持鼠標鍵按下,開始拖動控件或者它包含的對象時觸發。
· OnEndDrag,當對象的拖動結束,或者通過終止拖動放下對象時觸發。
· OnDragDrop,當用戶放下正在拖動的對象時觸發。
· OnMouseMove,當用戶移動鼠標指針并且鼠標指針通過控件上方時觸發。
· OnDblClick,當鼠標指針在控件上方且用戶雙擊鼠標時觸發。
· OnDragOver,當用戶拖動一個對象通過控件上方時觸發。
· OnMouseDown,當鼠標指針在控件上方且用戶按下鼠標鍵時觸發。
·OnMouseUp,當鼠標指針在組件上方且用戶按下鼠標鍵后又松開時觸發。

2.4.8 TWinControl的共同屬性
    所有的窗口控件(TWinControl的后裔)所共享的屬性包括:
· 關于控件的信息。
· 邊界樣式顯示屬性。
· 導航屬性。
· 拖動-??繉傩?。
    這些屬性是從TWinControl繼續而來的,它們都是發布屬性,因此,只對于那些適用的組件它們才會出現在對象觀察器中。
    1、常規信息屬性
    常規信息屬性包含TWinControl的外觀信息、客戶區尺寸和起點、Windows指定信息、及鼠標信息。
· ClientOrigin,指定控件客戶區左上角頂點的屏幕坐標(以像素為單位)。這個坐標是由TControl而不是從TWinControl中繼續而來的,是該控件的父代控件的屏幕坐標加上其Top和Left屬性值。
· ClientRect,返回一個矩形,其Top和Left屬性值設置為零,Bottom和Right屬性值設置為該控件的Height和Width屬性值,ClientRect也就是等價于Rect(0,0,ClientWidth,ClientHeight)。
· Brush,確定用于繪制控件背景的顏色和模式。
· Handle,提供對控件窗口句柄的訪問途徑。
· WindowHandle,提供對控件窗口句柄的另一種訪問途徑。
· HelpContext,提供用于調用上下文相關的聯機幫助的一種上下文相關的編號。
· Controls,列出窗口控件的所有子控件。
    2、邊界樣式顯示屬性
    斜角(Bevel)屬性控制應用程序中窗體或窗口控件斜角行、邊框、頁面的外觀。
· InnerBevel,指定內斜角為凸起、凹進或平面。
· BevelKind,若控件存在斜角邊緣、指定斜角的類型。
· BevelOuter,指定外斜角為凸起、凹進或平面。BevelWidth指定內斜角和外斜角的寬度,以像素為單位。
· Bevel,以像素為單位,指定內、外斜角的寬度。
· BorderWidth,給出或設置控件邊界寬度。
· BevelEdges,給出或設置控件的哪些邊做斜角處理。
    3、導航屬性
    兩個附加的屬性確定用戶如何在窗體之中定位控件:
· TabOrder,指出控件在它們的父代組件中的Tab排序,也即用戶按Tab鍵時控件收到焦點的順序。初始的Tab排序就是組件加入到窗體的順序,但是你能通過改變TabOrder來改變這一順序。只有當TabStop是true時TabOrder才有意義。
· TabStop,確定用戶是否能按下Tab鍵順序轉至各控件。假如TabStop為true,控件具有Tab排序功能。
    4、拖動-??繉傩?br />    下面的屬性治理拖動-停靠操作:
· UseDockManager,指定拖動-停靠操作的治理者。
· VisibleDockClientCount,指定放置于窗口控件中的可見控件的數目。
· DockManager,指定拖動-??坎僮鞯闹卫碚呓涌?。
· DockClients,給出窗口控件中放置的控件的列表。
· DockSite,指定控件是否可以作為拖動-??坎僮鞯哪繕?。

2.4.9 TWinControl的通用標準事件
    下面的事件存在于所有從TWinControl派生的控件(包含所有的Windows定義的控件)。這些事件是對于存在于所有控件之中的事件的補充。
· OnEnter,控件即將收到焦點時觸發。
· OnKeyDown,用戶按鍵時,鍵處于按下狀態時觸發。
· OnKeyPress,用戶按單個字符鍵時觸發。
· OnKeyUp,用戶按鍵時,鍵按下又彈起后觸發。
· OnExit,輸入焦點從一個控件轉移到另一個時觸發。
· OnDockDrop,另一控件被??康皆摽丶r觸發。
· OnDockOver,另一控件被拖動通過該控件上方時觸發。
· OnGetSiteInfo,返回該控件停靠信息。
· OnMouseWheel,鼠標輪旋轉時觸發。
· OnMouseWheelDown,鼠標輪向下旋轉時觸發。
· OnMouseWheelUp,鼠標輪向上旋轉時觸發。
· OnUnDock,應用程序試圖釋放窗口控件中??康目丶r觸發。

2.4.10 創建應用程序用戶界面
    在C++ Builder中,所有的可視化設計工作都在窗體中展開,當你打開C++Builder或建立一個新工程時,屏幕上會出現一個空白的窗體。可以用這個窗體來建立應用程序界面,包括窗口、菜單、對話框等。
    通過可視化的組件,如按鈕、列表框等在窗體上的放置和排列,可以設計出用戶圖形界面的外觀,而底層的工作細節則由C++ Builder自動治理。同時,也可以將一些非可視化的組件放入窗體之中,以便治理數據庫信息,進行計算,治理其他操作等。

2.4.11 使用組件
    大多數可視化組件由開發環境本身提供,放置在組件面板之上。從組件面板中選擇組件并放置到窗體中即可設計應用程序用戶界面??梢暬M件被放入窗體中后,就能調整它們的位置、尺寸、及其他設計時屬性。
    組件面板上的C++Builder組件以其功能的不同分屬于不同的頁。例如,常用組件,比如那些用來創建菜單、編輯框或按鈕的組件,位于組件面板中的標準(Standard)頁。一些簡便的控件比如,計時器、繪圖框、媒體播放機、OLE容器控件等在系統(System)頁。
    乍看之下,C++Builder組件與任何其他的C++類大致一樣。但是,在C++Builder組件和大多數的C++程序員所使用的標準C++類分層結構之間還是存在一些差異的。下面就是其中的一些差別:
· 所有的C++Builder組件由TComponent類派生而來。
· 組件大多數的應用是通過改變他們的屬性來使用,而不是作為“基類”以使其子類能夠增加或改變其成員函數。當組件被繼續時,通常是給現有的事件處理成員函數加上具體的代碼。
· VCL組件只可分配在堆中,而不能在棧中(它們必須用new操作符來創建)。組件的屬性本質上包含運行時類型信息。
· 組件可以被加到C++Builder用戶界面的組件面板中并且可在窗體中操縱。
· 組件通常比標準C++類封裝得更好。例如:考慮一個包含一個按鈕的對話框。在C++Windows應用程序中,當用戶單擊按鈕時,系統產生一個WM_LBUTTONDOWN消息。程序必須捕捉這個消息(典型的是在Switch狀態、消息映象、或響應列表),并將它分派到可響應這個消息的例程中。
    C++Builder組件可處理大多數的Windows消息。若要響應一個Windows消息時,只需提供一個事件句柄即可。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲成精品久久| 亚洲黄色在线观看| www日韩中文字幕在线看| 亚洲三级 欧美三级| 欧美成人午夜激情| 欧美一级大片在线观看| 国产一区二区三区在线播放免费观看| 亚洲精品国精品久久99热| 亚洲免费电影一区| 欧美裸体xxxxx| 欧美巨猛xxxx猛交黑人97人| 伊人av综合网| 一本色道久久88综合亚洲精品ⅰ| 欧美精品少妇videofree| 亚洲性无码av在线| 欧美日韩另类视频| 日本国产高清不卡| 国产视频在线观看一区二区| 日韩电视剧在线观看免费网站| 亚洲国产高潮在线观看| 精品成人乱色一区二区| 国产精品专区h在线观看| 精品国产一区二区三区久久| 狠狠躁夜夜躁人人爽天天天天97| 亚洲欧洲一区二区三区久久| www.亚洲人.com| 亚洲成人在线视频播放| 91午夜理伦私人影院| 亚洲欧美制服另类日韩| 一区二区欧美在线| 欧美日韩亚洲视频一区| 亚洲欧美资源在线| 77777少妇光屁股久久一区| 欧美成人午夜激情视频| 成人黄色激情网| 国产精品大片wwwwww| 亚洲国产精品福利| 一区二区三区视频观看| 国产精品久久久久久久久影视| 91社影院在线观看| 精品福利在线看| 97在线免费观看| 欧美猛交ⅹxxx乱大交视频| 午夜精品福利视频| 成人av在线网址| 国产午夜精品理论片a级探花| 精品视频久久久久久久| 欧美精品xxx| 国产一区二区在线免费视频| 欧美日韩福利电影| 国产精品久久久久高潮| 久久视频在线视频| 成人福利在线观看| 久久久免费av| 欧美激情三级免费| 国产在线观看一区二区三区| 精品国内亚洲在观看18黄| 国产精品自产拍在线观看中文| 亚洲的天堂在线中文字幕| 美女999久久久精品视频| 精品亚洲一区二区三区在线观看| 日韩在线观看高清| 日韩在线欧美在线| 自拍视频国产精品| 国产精品永久在线| 欧美性xxxx| 欧美在线免费视频| 日韩一区二区三区在线播放| 深夜精品寂寞黄网站在线观看| 欧美日韩国产在线| 精品av在线播放| 丝袜情趣国产精品| 久久精品中文字幕免费mv| 亚洲国产欧美一区二区丝袜黑人| 亚洲男人第一网站| 欧美激情免费观看| 538国产精品一区二区在线| 国产97色在线| 亚洲国产91色在线| 国产精品久久久久99| 久久视频在线看| 欧美亚洲另类在线| 91精品国产乱码久久久久久久久| 中文字幕精品在线视频| 亚洲91精品在线| 欧美日韩一区二区在线播放| 亚洲国产成人91精品| 欧美成人免费va影院高清| 精品国产乱码久久久久久虫虫漫画| 亚洲精品久久久久久下一站| 亚洲午夜精品视频| 成人精品一区二区三区电影黑人| 日日狠狠久久偷偷四色综合免费| 欧美久久精品午夜青青大伊人| 日韩免费在线观看视频| 欧美国产日韩中文字幕在线| 青青精品视频播放| www.日韩不卡电影av| 国产福利成人在线| 欧美精品国产精品日韩精品| 国产精品h片在线播放| 91在线观看免费高清完整版在线观看| 成人欧美一区二区三区黑人| 亚洲人精品午夜在线观看| 亚洲第一福利网站| 亚洲性线免费观看视频成熟| 日韩精品在线观看视频| 日韩成人激情在线| 亚州国产精品久久久| 亚洲高清av在线| 久久久免费精品| 欧美激情一区二区三级高清视频| 国产精品偷伦一区二区| 欧美一级免费看| 日韩中文字幕视频在线观看| 亚洲天堂影视av| 亚洲一区二区三区视频播放| 欧美日韩国产成人在线观看| 777午夜精品福利在线观看| 精品国内自产拍在线观看| 色哟哟网站入口亚洲精品| 中文字幕日韩免费视频| 国产精品a久久久久久| 国产婷婷成人久久av免费高清| 青青久久av北条麻妃海外网| 欧美性猛交xxxx免费看漫画| 欧美性少妇18aaaa视频| 久久久久久久影视| 在线观看精品国产视频| 日韩亚洲在线观看| 久久久久久久亚洲精品| 中文国产亚洲喷潮| 丝袜亚洲欧美日韩综合| 午夜精品蜜臀一区二区三区免费| 日韩在线中文视频| 国产精品午夜视频| 国产精品国产亚洲伊人久久| 日本成人黄色片| 国产欧美久久久久久| 国产极品jizzhd欧美| 欧美中文字幕视频在线观看| 91久久综合亚洲鲁鲁五月天| 国产成人精品最新| 精品视频一区在线视频| 久久久久久成人精品| 欧美在线视频免费| 亚洲国产精彩中文乱码av在线播放| 欧美视频中文字幕在线| 国产精品免费久久久| 欧美午夜激情小视频| 青草热久免费精品视频| 伊人精品在线观看| 亚洲乱码av中文一区二区| 亚洲另类激情图| 国产精品青草久久久久福利99| 日韩在线视频线视频免费网站| 久久久久久久999精品视频| 国产裸体写真av一区二区| 成人精品视频久久久久| 欧美专区福利在线| 91在线免费看网站| 亚洲图片欧洲图片av| 91精品久久久久久久久久久久久| 欧美裸身视频免费观看|