主要就是将一段超链接/选中的文本/选中的图片拖到窗体上时,窗体自动截获。
Option Explicit
Private Sub Form_Load()
Me.OLEDropMode = 1
End Sub
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim ss As String
MsgBox Data.Files(1) 显示的是你拖动的文件全名,你可以对其进行操作了~~
End Sub
1 窗体参数:BorderStyle=None ,BackColor=0,Width=540,Height=540
Option Explicit
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const HT_CAPTION = 2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Declare Function SetWindowPos Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOP = 0
Private Const HWND_BOTTOM = 1
Private Const HWND_NOTOPMOST = -2
Private Sub Form_Load()
Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
Private Sub Form_Paint()
Me.DrawWidth = 2
Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight), 0, B
Me.DrawWidth = 1
Me.Line (20, 20)-(Me.ScaleWidth - 30, Me.ScaleHeight - 30), &HE0E0E0, B
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
这两句移动窗体
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HT_CAPTION, 0&
End Sub
form1属性 OLEDropMode = 1
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim ss As String
MsgBox Data.Files(1) 显示的是你拖动的文件全名,你可以对其进行操作了~~
End Sub