編寫一個類似于“回收站”的程序。用適當的圖形作為“回收站”,程序運行后,把窗體上其他的對象拖到“回收站”上,松開鼠標按鍵后,顯示一個信息框,詢問是否確實要把該對象放回收站”,此時單擊“是”按鈕即放入“回收站”,對象從窗體上消失;單擊“否”按鈕則對象仍間到原來位置。

    解:以命令按鈕為例編寫程序,即把一個命令按鈕拖到“問收站”上,松開鼠標按鍵后,顯示一個信息框,詢問是否把命令按鈕放人“回收站”。

按以下步驟操作。
(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列表

掃我手機登錄

贊助商鏈接

黑龙江22选5开奖结果