如何拖动文件到程序图标或程序快捷方式时,使程序能打开被拖动的文件?
解决方案 »
- vb程序点击右上角叉叉后,发现系统任务管理器里还是在,而且会一直都在。要如何彻底退出?
- [求助]vb dll 文件更新问题
- 请问下,怎样访问DataReport设计器里面的RptTextBox?
- vb中如何读取一个字符串所含多少个Byte?
- arp欺骗网关,高分求高人,不够再加,急用...
- 新手等待…… 如何建立access数据库
- 高分求助,如何在VB的TextBox中接受人民币符号?
- 各位哥哥,帮帮小妹妹我吧,是关于图形处理的问题。
- 初学者的困惑: 什么是模块,什么是类模块 有什么用了?
- 困惑:vb如何面向对象?
- VBA 如何直接获得光标所在行文字?不要先整行选取,然后获得选取的文字。
- 继续请教数据库布尔类型更新问题?
http://www.it8g.com/RuanJian/200811/3570p3.htm
On Error Resume Next
Dim I As Long
Debug.Print "DataOK"
Effect = vbDropEffectCopy
For I = 1 To Data.Files.Count
OpenFile Data.Files(I) '打开所有文件列表.
Next
End Sub没有判断拖入的玩意是什么,所以如果你要是拖个奥特曼进去肯定...............
好像是在sub main()这里写代码。
Private Sub Pic1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Integer
'检查放下的东西是不是文件名
If Data.GetFormat(vbCFFiles) = True Then
Dim sFileName$
'只读取第一条记录的信息
sFileName = Data.Files(1)
'如果不是图片文件则转向错误处理
On Error GoTo invalidPicture
'将图片显示在图片框中
Pic1.Picture = LoadPicture(sFileName)
BackGround Me, Pic1
Shape1.Width = Pic1.Width
Shape1.Height = Pic1.Height
End If
Exit Sub
invalidPicture: '显示错误信息
DisplayPic1Message
End Sub
Private Sub DisplayPic1Message() '清除图片框中的图片
Pic1.Picture = LoadPicture()
Const Msg As String = "无效图片!"
' 在图片框中显示错误信息,这个用法很少见
Pic1.CurrentX = (Pic1.ScaleWidth \ 2) - (Pic1.TextWidth(Msg) \ 2)
Pic1.CurrentY = (Pic1.ScaleHeight \ 2) - (Pic1.TextHeight(Msg) \ 2)
Pic1.Print Msg
End Sub'当鼠标拖着东西移过图片框时
Private Sub Pic1_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer)
'检查移过图片框的是不是文件(象“回收站”就不是文件)
If Data.GetFormat(vbCFFiles) Then
'显示可以放下的图标,是带小加号的那种
Effect = vbDropEffectCopy And Effect
Else
'否则显示不可放下的图标,是圆圈加斜线那种
Effect = vbDropEffectNone
End IfEnd SubPrivate Sub BackGround(f As Form, pic As PictureBox)
For i = 0 To (f.ScaleWidth \ pic.Width)
For j = 0 To (f.ScaleHeight \ pic.Height)
PaintPicture pic.Picture, i * pic.Width, j * pic.Height
Next
Next
'将pic中的图片铺满整个窗口作为窗口背景花纹
End SubPrivate Sub Form_Load()
'经过声明Pic1成为接受文件拖放的一个OLE容器
Pic1.OLEDropMode = 1 Me.AutoRedraw = True
Pic1.AutoSize = True
BackGround Me, Pic1 '调用子过程BackGround将Pic1中的图片充满窗口
Shape1.Width = Pic1.Width
Shape1.Height = Pic1.HeightEnd Sub
Private Sub Form_Resize()
BackGround Me, Pic1
End Sub
if command$<>"" then call OpenFile(Command$)
end sub