友情提示:同学您好,此页面仅供预览,在此页面学习不会被统计哦! 请进入学习空间后选择课程学习。

实验目的

1. 掌握 DragModeDragIcon 属性。

2. 掌握 DragOver 事件。

3. 掌握 Drag 方法。

4. 了解鼠标拖放操作在程序设计中应用。

实验内容

一、通过鼠标拖放实现图片的缩放

运行程序时,将原图片拖放到大小不同的两个Image控件中,可以将原图片放大或缩小显示。程序运行效果如图14-1所示。


本程序的设计步骤如下。

1. 向窗体中添加一个Image控件Image1,并在属性窗口中设置其Picture属性。

2. 向窗体中再添加两个Image控件Image1Image2,设置它们的BorderStyle属性值为1FixedSingle

3. 按照图14-1所示,向窗体中添加3个标签,并设置其相应的Caption属性值。

4. 编写代码并运行程序。

PrivateSub Form_Load()

Image2.Stretch= True

Image3.Stretch= True

EndSub

PrivateSub Image2_DragDrop(Source As Control, X As Single, _

YAs Single)

Image2.Picture= Image1.Picture

EndSub

PrivateSub Image3_DragDrop(Source As Control, X As Single, _

YAs Single)

Image3.Picture= Image1.Picture

EndSub

二、拖动过程中鼠标指针的变化

设计一个程序,当窗体上的命令按钮控件被拖过一个PictureBox控件时,指针从缺省的箭头变为特定的图标;当命令按钮被拖到其他地方时,指针恢复到缺省状态,程序运行结果如图14-2所示。


本程序的设计步骤如下。

1. 向窗体中添加一个命令按钮Command1和一个PictureBox控件Picture1

2. 设置命令按钮Command1DragMode属性为:1Automatic

3. 添加如下代码,并调试通过。

PrivateSub Picture1_DragOver(Source As Control, X As Single, _

YAs Single, State As Integer)

Select Case State

CasevbEnter

   Source.DragIcon=LoadPicture("C:\ProgramFiles" & _

                 "\MicrosoftVisualStudio\Common" & _

            "\Graphics\Icons\Arrows\Point03.ico")

CasevbLeave

   Source.DragIcon = LoadPicture()

EndSelect

EndSub

三、使用Drag方法

编写程序,使用Drag方法,设计如图14-3所示的应用程序,当用鼠标拖动窗体上的文件夹图标到文件柜处并释放鼠标按钮时,文件夹图标将从窗体上消失,且打开的文件柜将关闭。


本程序的设计步骤如下。

1. 向窗体中添加三个Image控件:Image1Image2Image3

2. 设置它们的Picture属性,使Image1Image2Image3分别显示为文件夹、打开的文件柜、使用中的文件柜。

3. 在下划线处填写代码,并调试通过。

PrivateSub Image1_MouseDown(Button As Integer, Shift As Integer, _

XAs Single, Y As Single)

                                                

    Image1.DragIcon =LoadPicture("C:\Program Files" & _

                 "\MicrosoftVisualStudio\Common" & _

"Graphics\Icons\Dragdrop\Dragfldr.ico")

EndSub

 

PrivateSub Image2_DragOver(Source As Control, X As Single, Y As  _

Single,State As Integer)

 Source.Drag vbEndDrag

                                    

Image2.Picture=LoadPicture("C:\ProgramFiles" & _

                 "\MicrosoftVisualStudio\Common" & _

"Graphics\Icons\Office\Files03a.ico")

EndSub

 

PrivateSub Image3_DragOver(Source As Control, X As Single, Y As _

Single,State As Integer)

     Source.Drag vbCancel

EndSub

四、拖动具有编辑特性的控件

拖动窗体中的文本框,放置到列表框中,文本框中的文本被添加到列表框中,同时文本框被清空。程序运行如图14-4所示。


本程序使用了Drag方法拖动文本框,为保留该文本框的编辑特性,只有当按下Shift键的同时,才可以拖动文本框。请补充以下代码,并调试通过。

PrivateSub List1_DragDrop(Source As Control, X As Single, Y As Single)

List1.AddItem                  

Text1.Text= ""

Text1.Drag            

EndSub

PrivateSub Text1_MouseDown(Button As Integer, Shift As Integer, _

XAs Single, Y As Single)

If                   Then Text1.Drag                   

EndSub

PrivateSub Command1_Click()

End

EndSub