Khởi tạo hoạt động kéo-nhả

Một phần của tài liệu Giáo trình visual basic 6 phần II (Trang 71 - 72)

II. MỘT CHƯƠNG TRÌNH VÍ DỤ

1. Khởi tạo hoạt động kéo-nhả

ởi tạo hoạt động kéo-nhả bằng cách đặt thuộc tính OLEDragMode thành vbManual rồi khởi động quá trình kéo bằng cách cho thực hiện phương thức OLEDrag trong sự kiện MouseDown:

Private Sub rtfText_MouseDown(Button As Integer, Shift As Integer, _ x As Single, y As Single)

' Khởi động hoạt động kéo khi phím phải được bấm If Button = 2 Then rtfText.OLEDrag

End Sub

Khi phương thức OLEDrag được gọi thực thi, sự kiện OLEStartDrag được kích

ạt trên đối tượng nguồn. Sự kiện này có tham số là đối tượng DataObject và tham số AllowedEffects. DataObject là đối tượng chứa dữ liệu chuyển giữa đối

ng nguồn và đối tượng đích. Dữ liệu cũng có thể chứa trong đối tượng này Ch làm làm từ từ Kh ho tượ

bằng phương thức SetData. Tương tự như cách sử dụng Clipboard, dữ liệu chứa có

ở n ng bảng 16.2.

thể hiều dạng khác nhau như tóm tắt tro

Bảng 16.2: Khai báo hằng các loại dữ liệu chứa trong Clipboard

Hằng Giá trị Ý nghĩa

vbCFText 1 Text

vbCFBitmap 2 Bitmap (BMP)

vbCFMetafile 3 Metafile (WMF)

vbCFEMetafile 14 Enhanced metafile (.emf)

vbCFDIB 8 Device independent bitmap (dib or bmp)

vbCFPalette 9 Color palette

vbCFFiles 15 List of files

vbCFRTF -16639 Rich Text Format (RTF)

Ví dụđối với RichTextBox, dữ liệu di chuyển có thểở dạng RTF hoặc Text không có định dạng:

Private Sub rtfText_OLEStartDrag(Data As RichTextLib.DataObject, _ AllowedEffects As Long)

If rtfText.Se

ectMove Or vbDropEffectCopy

Basic kích hoạt biến cố OLEDragOver trên

mọi đố số là

đối tượ ect đã được chuẩn bị bởi đối tượng nguồn. Căn

cứ trên Effect giá trị tương

ứng vớ i sử dụng nhả chuột trên đối tượng.

Giá trị thể có giá trị như cho trong bảng sau:

lLength Then

Data.SetData rtfText.SelRTF, vbCFRTF Data.SetData rtfText.SelText, vbCFText Else

Data.SetData rtfText.TextRTF, vbCFRTF Data.SetData rtfText.Text, vbCFText End If

AllowedEffects = vbDropEff End Sub

Một phần của tài liệu Giáo trình visual basic 6 phần II (Trang 71 - 72)

Tải bản đầy đủ (PDF)

(77 trang)