ole物件實際上就是別人的程式原封不動的拿來使用。可在 Visual Basic 應用程式中新增的最強大、最有用的功能之一就是在控制元件和控制元件之間、在控制元件和其它 Windows 應用程式之間拖動文字和圖形。有了 OLE,就可將這種功能引入到應用程式中。
Excel 中的一個單元範圍,然後將它們放到應用程式的 DataGrid 控制元件上。
Visual Basic 的幾乎所有控制元件都在某種程度上支援 OLE 拖放。此外,一些標準的和 ActiveX 控制元件(由 Visual Basic 專業版和企業版提供的)還提供對 OLE 拖放的自動支援,這意味著控制元件支援在 OLEDragMode 和 OLEDropMode 屬性中的自動設定,並且無論是從控制元件拖出還是在控制元件內放入都不需要編寫程式碼。這一點與手動拖放相反,在手動拖放中,您必須為拖放程式設計:
有些支援自動 OLEDragMode 和 OLEDropMode 的控制元件包括 PictureBox、Label、以及 TextBox 控制元件。為對這些控制元件啟動自動 OLE 拖放,應將 OLEDragMode 和 OLEDropMode 都設定為“自動化”。
有些控制元件支援自動 OLE 拖動,但只支援手動放下,有些支援自動放下,但只支援手動拖動。例如,ComboBox 控制元件支援手動和自動拖動,但不支援自動放下。這是由於如果您將一個專案拖動到 ComboBox 中,Visual Basic 無法知道將新專案放下的確切位置。然而,可以使用手動放下
,這樣您就可以將專案程式化的放在您希望在 ComboBox 中的位置了。要啟動這些控制元件的自動拖動,應將 OLEDragMode 屬性設定為“自動化”。
有些控制元件只支援手動 OLE 拖放事件,這意味著可用程式碼對它們進行程式設計,使之成為 OLE 拖放操作的源,也可使之成為 OLE 拖放操作的目標。
注意 為判斷其它 ActiveX 控制元件是否支援 OLE 拖放,應在 Visual Basic 中載入控制元件並檢查 OLEDragMode 和 OLEDropMode 屬性是否存在,或檢查 OLEDrag 方法是否存在。(不自動支援 OLE 拖動的控制元件也將不具有 OLEDragMode 屬性,但是,如果控制元件透過程式碼支援 OLE 拖動,則其具有 OLEDrag 方法。)
注意 窗體、MDI 窗體、文件物件、使用者控制元件和屬性頁都包含 OLEDropMode 屬性,而且僅支援手工拖放。
ole物件實際上就是別人的程式原封不動的拿來使用。可在 Visual Basic 應用程式中新增的最強大、最有用的功能之一就是在控制元件和控制元件之間、在控制元件和其它 Windows 應用程式之間拖動文字和圖形。有了 OLE,就可將這種功能引入到應用程式中。
Excel 中的一個單元範圍,然後將它們放到應用程式的 DataGrid 控制元件上。
Visual Basic 的幾乎所有控制元件都在某種程度上支援 OLE 拖放。此外,一些標準的和 ActiveX 控制元件(由 Visual Basic 專業版和企業版提供的)還提供對 OLE 拖放的自動支援,這意味著控制元件支援在 OLEDragMode 和 OLEDropMode 屬性中的自動設定,並且無論是從控制元件拖出還是在控制元件內放入都不需要編寫程式碼。這一點與手動拖放相反,在手動拖放中,您必須為拖放程式設計:
有些支援自動 OLEDragMode 和 OLEDropMode 的控制元件包括 PictureBox、Label、以及 TextBox 控制元件。為對這些控制元件啟動自動 OLE 拖放,應將 OLEDragMode 和 OLEDropMode 都設定為“自動化”。
有些控制元件支援自動 OLE 拖動,但只支援手動放下,有些支援自動放下,但只支援手動拖動。例如,ComboBox 控制元件支援手動和自動拖動,但不支援自動放下。這是由於如果您將一個專案拖動到 ComboBox 中,Visual Basic 無法知道將新專案放下的確切位置。然而,可以使用手動放下
,這樣您就可以將專案程式化的放在您希望在 ComboBox 中的位置了。要啟動這些控制元件的自動拖動,應將 OLEDragMode 屬性設定為“自動化”。
有些控制元件只支援手動 OLE 拖放事件,這意味著可用程式碼對它們進行程式設計,使之成為 OLE 拖放操作的源,也可使之成為 OLE 拖放操作的目標。
注意 為判斷其它 ActiveX 控制元件是否支援 OLE 拖放,應在 Visual Basic 中載入控制元件並檢查 OLEDragMode 和 OLEDropMode 屬性是否存在,或檢查 OLEDrag 方法是否存在。(不自動支援 OLE 拖動的控制元件也將不具有 OLEDragMode 屬性,但是,如果控制元件透過程式碼支援 OLE 拖動,則其具有 OLEDrag 方法。)
注意 窗體、MDI 窗體、文件物件、使用者控制元件和屬性頁都包含 OLEDropMode 屬性,而且僅支援手工拖放。