Menggunakan OLE DragDrop OLE Object Linking and Embedding

Menggunakan OLE Drag-Drop OLE (Object Linking and Embedding) Drag-Drop adalah jenis drag-drop yang memungkinkan useruntuk menyalin atau memindahkan data dari satu bagian ke bagian yang lain di dalam satu program ataudengan program yang lain. Sebagian besar program-program buatan Microsoft (seperti Microsoft Office)ataupun perusahaan lain (seperti Adobe Photo. Shop) mendukung penggunaan OLE drag-drop. OLE Drag-Drop dengan VB 6. 0 menyediakan beberapa property, method dan event yang berhubungan dengan OLE drag-drop. Operasi OLE drag-drop melibatkan object source dan object target. Hanya beberapa komponen pada. VB 6. 0 yang bisa digunakan sebagai object source maupun target, yaitu: Text. Box, Combo. Box, List. Box, Image, Picture. Box, Dir. List. Box dan File. List. Box. Sedangkan komponen lainya hanya bisa digunakan sebagai object target, seperti: Command. Button, Check. Box, Option. Button, Label dan Form.




Contoh Program: OLE Drag. Drop Test 1. Aktifkan program Microsoft Visual Basic 6. 0. 2. Bukalah kembali file project Latihan. vbp. 3. Tambahkan form baru ke dalam project. 4. Pada Jendela Object buatlah User Interface seperti ini:

6. Klik menu Project > Project 1 Properties lalu klik tab General. Gantilah Startup Object-nya menjadi Form 15. 7. Coba jalankan project-nya dan aktifkan program Word. Pad:

6. Klik menu Project > Project 1 Properties lalu klik tab General. Gantilah Startup Object-nya menjadi Form 15. 7. Coba jalankan project-nya dan aktifkan program Word. Pad:





Listing-15 Dim Format. OK As Boolean 'OLE Drag-Drop ke List 1 Private Sub Text 1_Mouse. Down(Button As Integer, Shift As Integer, _X As Single, Y As Single) 'Jika Text 1 tdk kosong dan tombol kiri mouse ditekan If Text 1. Text <> "" And Button = vb. Left. Button Then Text 1. OLEDrag 'Mulai operasi OLE drag-drop End If End Sub Private Sub Text 1_OLEStart. Drag(Data As Data. Object, Allowed. Effects As Long) 'Simpan data dgn format text Data. Set. Data Text 1. Text, vb. CFText 'Atur efek OLE drag-drop yg diperbolehkan Allowed. Effects = vb. Drop. Effect. Copy Or vb. Drop. Effect. Move End Sub

Private Sub List 1_OLEDrag. Over(Data As Data. Object, Effect As Long, _Button As Integer, Shift As Integer, _ X As Single, Y As Single, State As Integer) 'Cek format datanya Format. OK = Data. Get. Format(vb. CFText) Or _Data. Get. Format(vb. CFFiles) If Format. OK Then 'Cek apakah tombol Ctrl ditekan If Shift = vb. Ctrl. Mask Then Effect = vb. Drop. Effect. Copy 'Data disalin Else Effect = vb. Drop. Effect. Move 'Data dipindahkan End If Else Effect = vb. Drop. Effect. None 'Data diabaikan End If End Sub

Private Sub List 1_OLEDrag. Drop(Data As Data. Object, Effect As Long, _ Button As Integer, Shift As Integer, _ X As Single, Y As Single) Dim i As Integer 'Cek format datanya Format. OK = Data. Get. Format(vb. CFText) Or _ Data. Get. Format(vb. CFFiles) If Format. OK Then 'Cek apakah tombol Ctrl ditekan If Shift = vb. Ctrl. Mask Then Effect = vb. Drop. Effect. Copy 'Data disalin Else Effect = vb. Drop. Effect. Move 'Data dipindahkan End If

'Tambahkan data yg tersimpan ke dalam List 1 If Data. Get. Format(vb. CFText) Then List 1. Add. Item Data. Get. Data(vb. CFText) 'Data text End If If Data. Get. Format(vb. CFFiles) Then List 1. Clear For i = 1 To Data. Files. Count List 1. Add. Item Data. Files(i) 'Data file(s) Next i End If Else Effect = vb. Drop. Effect. None 'Data diabaikan End If End Sub Private Sub Text 1_OLEComplete. Drag(Effect As Long) If Effect = vb. Drop. Effect. Move Then Text 1. Text = "" 'Kosongkan Text 1 jika data dipindahkan End If End Sub

'============ 'OLE Drag-Drop ke Image 2 '============ Private Sub Image 1_Mouse. Down(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If Image 1. Picture <> 0 And Button = vb. Left. Button Then Image 1. OLEDrag End If End Sub Private Sub Image 1_OLEStart. Drag(Data As Data. Object, Allowed. Effects As Long) Data. Set. Data Image 1. Picture Allowed. Effects = vb. Drop. Effect. Copy Or vb. Drop. Effect. Move End Sub

Private Sub Image 2_OLEDrag. Over(Data As Data. Object, Effect As Long, _ Button As Integer, Shift As Integer, _ X As Single, Y As Single, State As Integer) Format. OK = Data. Get. Format(vb. CFBitmap) Or _ Data. Get. Format(vb. CFMetafile) Or _ Data. Get. Format(vb. CFDIB) Or _ Data. Get. Format(vb. CFFiles) If Format. OK Then If Shift = vb. Ctrl. Mask Then Effect = vb. Drop. Effect. Copy Else Effect = vb. Drop. Effect. Move End If Else Effect = vb. Drop. Effect. None End If End Sub

Private Sub Image 2_OLEDrag. Drop(Data As Data. Object, Effect As Long, _ Button As Integer, Shift As Integer, _ X As Single, Y As Single) Format. OK = Data. Get. Format(vb. CFBitmap) Or _ Data. Get. Format(vb. CFMetafile) Or _ Data. Get. Format(vb. CFDIB) Or _ Data. Get. Format(vb. CFFiles) If Format. OK Then If Shift = vb. Ctrl. Mask Then Effect = vb. Drop. Effect. Copy Else. Effect = vb. Drop. Effect. Move End If If Data. Get. Format(vb. CFBitmap) Then Image 2. Picture = Data. Get. Data(vb. CFBitmap) End If

If Data. Get. Format(vb. CFMetafile) Then Image 2. Picture = Data. Get. Data(vb. CFMetafile) End If If Data. Get. Format(vb. CFDIB) Then Image 2. Picture = Data. Get. Data(vb. CFDIB) End If If Data. Get. Format(vb. CFFiles) Then Image 2. Picture = Load. Picture(Data. Files(1)) End If Else Effect = vb. Drop. Effect. None End If End Sub Private Sub Image 1_OLEComplete. Drag(Effect As Long) If Effect = vb. Drop. Effect. Move Then Image 1. Picture = Nothing End If End Sub
- Slides: 19