English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

如題,OLE是什麼?
性質裡面有很多選項。
OLECompleteDrag
OLEDragDrop
OLEDragOver
OLEGivefeedback
OLESetData
OLEStartDrag
又分別代表什麼意思?
麻煩了。

2004-12-19 11:44:36 · 1 個解答 · 發問者 yvmimimi 3 in 電腦與網際網路 程式設計

1 個解答

OLE 是一種機制,可允許使用者建立和編輯包含由多個應用程式所建立的項目或「物件」的文件。
注意 OLE 原來是物件連結與嵌入 (Object Linking/Embedding) 的字首縮寫。然而,現在稱為 OLE。OLE 中與連結與嵌入無關的部分現在是 Active 技術的一部份。
OLE 文件,傳統上被稱為複合文件,可完全整合不同型別的資料或是元件。音效短片、試算表和點陣圖都是 OLE 文件中可見的一般元件範例。您的應用程式中的 OLE 支援,可以允許使用者在使用 OLE 文件時不必費心在不同應用程式之間切換;OLE 會替您切換。
您可以使用容器應用程式 (Container Application) 建立複合文件和伺服應用程式,或是使用元件應用程式建立容器文件內的項目。您所撰寫的任何應用程式可以是容器、伺服程式或是兩者皆是。
OLE 所加入的許多不同概念,都是為了達成應用程式間無縫隙互動的目的。

OLECompleteDrag 事件 (ActiveX 控制項)
發生在將來源元件置放在目標元件上時,以通知來源元件執行或取消了拖曳動作。

語法
Private Sub object_OLECompleteDrag([effect As Long])

OLECompleteDrag 事件的語法包含下列部份:

組成部份 說明
object 一個被評估為套用至清單中之物件的物件運算式。
effect 由來源物件設定的長整數 (Long Integer),用來辨識已執行的動作,如果已移動元件,則允許來源採取適當的動作 (例如,如果資料是從一元件移至另一元件,來源就刪除資料)。可能的值列於以下<設定>中。

設定
effect 的設定如下:

常數 值 說明
xxxDropEffectNone 0 置放目標 (Drop Target) 無法接受資料,或是置放作業被取消。
xxxDropEffectCopy 1 將結果置放於從來源放到目標中的資料複本。拖曳作業並不會變更原始資料。
xxxDropEffectMove 2 將結果置放於從拖曳來源移至置放來源 (Drop Source) 的資料中。拖曳來源在資料移動完成後,應將資料從其本身移除。

OLEDragDrop 事件 (ActiveX 控制項)
當來源元件判斷可能發生置放動作時,將來源元件置放在目標元件上時發生。

注意 只有在將 OLEDropMode 設定為 1 (手動) 的情況下才會發生這個事件。
語法
Private Sub object_OLEDragDrop(data As DataObject, effect As Long, button As Integer, shift As Integer, x As Single, y As Single)

OLEDragDrop 事件的語法包含下列部份:

組成部份 說明
object 一個被評估為套用至清單中之物件的物件運算式。
data DataObject 物件,其中包含來源將提供的格式,還可能包含這些格式的資料。如果 DataObject 中未包含任何資料,則會在控制項呼叫 GetData 方法時提供資料。這裡不能使用 SetData 和 Clear 方法。
effect 由目標元件設定的長整數,用來辨識已執行的動作 (若有的話),如果已移動元件,則允許來源採取適當的行動 (例如來源刪除資料)。可能的值列於以下<設定>中。
button 整數,用來當作在按滑鼠按鈕時對應至滑鼠按鈕狀態的位元欄位。滑鼠左鍵是位元 0,右鍵是位元 1,而中間鍵是位元 2。這些位元分別對應至值 1、2 和 4。它表示滑鼠按鈕的狀態;您可設定部份、全部或不設定任何位元來表示按下了部份按鈕、全部按鈕或沒有按下任何按鈕。
shift 整數,用來當作在按 SHIFT、CTRL 和 ALT 時對應至這些按鍵狀態的位元欄位。SHIFT 鍵是位元 0,CTRL 鍵是位元 1,而 ALT 鍵是位元 2。這些位元分別對應至值 1、2 和 4。shift 參數表示這些按鍵的狀態;您可設定部份、全部或不設定任何位元來表示按下了部份按鍵、全部按鍵或沒有按下任何按鍵。例如,如果按下 CTRL 和 ALT 鍵,shift 的值就是 6。
x、y 指定滑鼠指標目前位置的數字。x 和 y 值都是以物件的 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 屬性設定的座標系統來表示。

設定
effect 的設定如下:

常數 值 說明
xxxDropEffectNone 0 置放目標無法接受資料。
xxxDropEffectCopy 1 將結果置放於從來源放到目標中的資料複本。拖曳作業並不會變更原始資料。
xxxDropEffectMove 2 將結果置放於從拖曳來源移至置放來源的資料中。拖曳來源在資料移動完成後,應將資料從其本身移除。
xxxDropEffectScroll -2147483648 指示置放位置的目標視窗已經捲動或將會捲動的遮罩。

OLEDragOver 事件 (ActiveX 控制項)
將一元件拖曳至另一元件時發生。

語法
Private Sub object_OLEDragOver(data As DataObject, effect As Long, button As Integer, shift As Integer, x As Single, y As Single, state As Integer)

OLEDragOver 事件的語法包含下列部份:

組成部份 說明
object 一個被評估為套用至清單中之物件的物件運算式。
data DataObject 物件,其中包含來源將提供的格式,還可能包含這些格式的資料。如果 DataObject 中未包含任何資料,則會在控制項呼叫 GetData 方法時提供資料。這裡不能使用 SetData 和 Clear 方法。
effect 一開始由來源物件設定的長整數,用來辨識它支援的所有功能。這個參數必須在這個事件期間由目標元件正確設定。effect 的值是由以邏輯方式用 Or 運算子串聯起來的所有現用功能 (如<設定>中所列項目) 決定的。目標元件應檢查這些功能和其他參數來判斷適當的動作,並接著將這個參數設定為允許的功能之一 (如來源所指定的),以指定在使用者將選取項目置放在元件上時要執行的動作。可能的值列於以下<設定>中。
button 整數,用來當作在按滑鼠按鈕時對應至滑鼠按鈕狀態的位元欄位。滑鼠左鍵是位元 0,右鍵是位元 1,而中間鍵是位元 2。這些位元分別對應至值 1、2 和 4。它表示滑鼠按鈕的狀態;您可設定部份、全部或不設定任何位元來表示按下了部份按鈕、全部按鈕或沒有按下任何按鈕。
shift 整數,用來當作在按 SHIFT、CTRL 和 ALT 時對應至這些按鍵狀態的位元欄位。SHIFT 鍵是位元 0,CTRL 鍵是位元 1,而 ALT 鍵是位元 2。這些位元分別對應至值 1、2 和 4。shift 參數表示這些按鍵的狀態;您可設定部份、全部或不設定任何位元來表示按下了部份按鍵、全部按鍵或沒有按下任何按鍵。例如,如果按 CTRL 和 ALT 鍵,shift 的值就是 6。
x、y 指定在目標表單或控制項內,滑鼠指標目前水平 (x) 和垂直 (y) 位置的數字。x 和 y 值都是以物件的 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 屬性設定的座標系統來表示。
state 整數,對應至相對於目標表單或控制項的拖曳控制項的轉換狀態。可能的值列於以下<設定>中。

設定
effect 的設定如下:

常數 值 說明
xxxDropEffectNone 0 置放目標無法接受資料。
xxxDropEffectCopy 1 將結果置放於從來源放到目標中的資料複本。拖曳作業並不會變更原始資料。
xxxDropEffectMove 2 將結果置放於從拖曳來源移至置放來源的資料中。拖曳來源在資料移動完成後,應將資料從其本身移除。
xxxDropEffectScroll -2147483648
(&H80000000)
目標元件中正發生或將發生捲動。這個值要配合其他值一起使用。
注意 請只在目標元件中執行您自己的捲動時使用。

state 的設定如下:

常數 值 說明
xxxEnter 0 將來源元件拖曳至目標的範圍之內。
xxxLeave 1 將來源元件拖曳至目標的範圍之外。
xxxOver 2 來源元件已從目標的一處移至另一處。

OLEGiveFeedback 事件 (ActiveX 控制項)
在每次發生 OLEDragOver 事件後發生。OLEGiveFeedback 允許來源元件將視覺回饋提供給使用者,例如變更滑鼠游標來指示使用者置放物件時會發生什麼事,或是在選取項目 (在來源元件中) 上提供視覺回饋以指示接下來會發生什麼事。

OLESetData 事件 (ActiveX 控制項)
當目標元件在來源的 DataObject 物件上執行 GetData 方法時發生在來源元件上 (但會在載入指定格式資料之前發生)。

OLEStartDrag 事件 (ActiveX 控制項)
當執行元件的 OLEDrag 方法時,或是在 OLEDragMode 屬性設定為 Automatic 的情況下當元件啟始 OLE 拖放作業時發生。

這個事件會指定來源元件支援的資料格式和置放功能。它也可用來將資料插入 DataObject 物件。

2004-12-19 11:47:42 · answer #1 · answered by Pf. Yahoo! Answers (English) 4 · 0 0

fedest.com, questions and answers