编写一个类似于“回收站”的程序。用适当的图形作为“回收站”,程序运行后,把窗体上其他的对象拖到“回收站”上,松开鼠标按键后,显示一个信息框,询问是否确实要把该对象放回收站”,此时单击“是”按钮即放入“回收站”,对象从窗体上消失;单击“否”按钮则对象仍间到原来位置。

    解:以命令按钮为例编写程序,即把一个命令按钮拖到“问收站”上,松开鼠标按键后,显示一个信息框,询问是否把命令按钮放人“回收站”。

按以下步骤操作。
(1)在窗体上画一个命令按钮和一个图像框,
(2)设置图像框的Picture属性和命令按钮的Dragicon属性:

Private Sub Form_Load()
    Image1.Picture = LoadPicture("c:\1.ico")
    Command1.DragIcon = LoadPicture("c:\2.ico")
End Sub

上述过程中,第一个语句用来在图像框中装入一个图标,该图标是一个“回收站”的图形。第二个语句用来设置在拖动命令按钮过程中所显示的图形。

(3)用MouseDown事件过程打开拖拉开关:

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Command1.Drag 1
End Sub

上述过程是当按下鼠标按键时所产牛的操作,即用Drag方法打开拖拉开关,产生拖拉操作。

(4)关闭拖拉开关,停止拖拉并产生DragDrop事件:

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Command1.Drag 2
End Sub

(5)编写DragDrop事件过程:

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    Source.Move (X - Source.Width / 2), (Y - Source.Height / 2)
End Sub

关闭拖拉开关(用Drag 2)后,将停止拖拉并产生DragDrop事件。即在松开鼠标按 键后,把控件放到鼠标光标位置。在一般情况下,鼠标光标所指的是控件的左上角,而在该过程中,鼠标光标所指的是控件的中心。
(6)编写图像框的DragOver事件过程:

Private Sub Image1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
    X = MsgBox("是否把该对象放入回收站", vbYesNo, "选择")
    If X = 6 Then Command1.Visible = False
End Sub

当拖动的对象位于“回收站”上方时,发生DragOver事件,此时将显示一个信息框, 如下力u所示,询问是否把该对象放入回收站,如果单是”按钮,则对象(命令按钮)消 失;而如果单击“否”按钮,则对象不消失。


来源:visual basic程序设计教程第四版答案(刘炳文)

本文链接:http://www.wb98.com/vb1/post/vb_10.10.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

扫我手机登录

赞助商链接