• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用VisualBasic編程建立自己的回收站

    發布: 2007-5-25 09:19 | 作者: ghj1976 | 來源: 互聯網 | 查看: 30次 | 進入軟件測試論壇討論

    領測軟件測試網
    用Visual Basic編程建立自己的回收站

    http://tech.sina.com.cn 2000/09/29  軟件世界 王福生 楊洪勇

      在Windows 95中刪除一個文件或文件夾,只需用鼠標拖動文件(夾)到回收站,然后松開鼠標按鈕即可,這種可視化的操作給用戶帶來了很大方便。如果程序開發人員在自己的程序中能做到這樣,在自己的程序中也增加一個和Windows中風格相同的回收站,那么開發出的程序一定會受到用戶的歡迎。怎么才能完成這種操作呢?本文介紹一種使用Visual Basic編程來完成這個動作的方法。

      在Microsoft Windows資料中將按下鼠標按鈕移動對象稱為拖,將鼠標按鈕的松開稱為放。在Visual Basic中,如果項目中使用多個窗體,可以把一個圖標從一個窗體拖放到另一個窗體?丶试S兩種拖動,這取決于DragMode特性的兩個不同的值。缺省情況是DragMode特性的值為0,除特定情況外不允許拖動控件;將這個特性的值改成1(Automatic)意味著用戶可以拖動控件。

      下面介紹拖動鼠標刪除文件方法的實現過程。在Visual Basic的項目中允許用戶拖動代表文件的圖標至處理單元,此單元相當于Windows 95中的回收站,在給出警告之后把文件從磁盤中刪除。

      第一步,首先啟動一個有兩個窗體的項目,在啟動窗體的下角加一個圖片框(或圖像控件),將這個控件的Picture特性設置成TRASH03.ICO文件中的圖標,該文件位于Icon庫的Computer子目錄中。如果使用圖片框,將AutoSize特性設置成True(如果選擇一個圖像控件,將Stretch特性設置成False)。

      第二步,建立兩個控件數組,一個是控件名為FileName的標簽數組,另一個名字為Files的圖像控件數組。將圖像控件的DragMode特性設置成1(Automatic);將Visble特性設置成False,使標簽和圖像控件在運行時都不可見。通常,這些控件數組中的所有后續元素都繼承這些特性。

      這個項目中的大多數工作都體現在下面的DragDrop事件過程中:

      Private Sub Garbage_DragDrop(Source As Control,X As Single,Y As Single)
      ‘local variables
      Dim Msg As String
      Dim ControlIndex As Integer,YesNo As Integer
      ControlIndex=Source.Index
      Forml.FileName(ControlIndex).Visble=False
      Msg= "Do you really want to delete"+
      Forml.FileName(ControlIndex).Caption
      YesNo=MsgBox(Msg,vbYesNo, "Confirmation Box")
      If YesNo=vbYes Then
      Kill(Forml.FileName(ControlIndex).Caption)
      Unload Files(ControlIndex)
      Unload Forml.FileName(ControlIndex)
      Else
      Forml.FileName(ControlIndex).Visible=True
      Forml.File(ControlIndex).Visible=True
      End If
      End Sub

      該事件過程中的ControlIndex這一行代碼找出被拖動控件的索引;接下來的兩行代碼使圖片框和標簽在放置操作后暫時不可見。ControlIndex變量讓Visual Basic從標簽數組中提取標題(也就是文件名)。消息框的類型為=vbYesNo,因此是個Yes/No消息框,標題是Confirmation Box。Kill命令從磁盤中刪除文件。一旦程序刪除了文件,就從控件數組中卸除標簽和圖片框。如果用戶操作有誤,確認的消息框返回No,則程序代碼使得原來的圖片框和標簽再次顯現。

      下一步,建立一個稱為Directons的通用過程,在一個窗體上顯示出給用戶提供的這個應用程序所需的信息,該窗體用作一個定制對話框。

      Sub Directons ()
      Forml.Hide
      Form2.Show
      Form2.Cls
      Form1.Print "This program illustrates dragging and dropping mouse operations."
      Form2.Print "The user gives a file spec inside the message box and a form"
      Form2.Print "appears with icons labelled by all the files with that file specifcation."
      Form2.Print "The user can drag the icon to be 'flushed' away i. e. deleted."
      End Sub

      對話框上OK按鈕的Click過程是:

      Private Sub btnOK-Click ()
      Me.Hide
      Form1.Show
      End Sub

      啟動窗體的Form-Load 過程需要裝入Directons窗體并調用顯示信息的通用過程。它可以這樣的:

      Private Sub Form-Load ()
      Load Form2
      Directons
      End Sub

      啟動窗體上的File 菜單有以下兩項:

      New File Spec

      Exit

      單擊New File Spec菜單項讓用戶查看新的目錄或驅動器。這個菜單項會調用一個通用過程GetFile,從磁盤讀入文件名。

      最后,是如何處理新的文件說明。用戶第一次使用這個應用程序時,Visual Basic裝入兩個控件數組中一定數目的元素。程序需要改變標題中所含的信息,這些標題含有要刪除的文件的名字。這兩個控件數組只裝入一次,然后使用Dir $命令建立一個字符串,從磁盤讀入住處后將這個數組中的值賦給標簽的Caption特性。該程序代碼要讀磁盤信息兩次來恰當地重新確定數組尺寸。至于菜單項,因為“N”加了下劃線,用戶可以按N作為激活這一項的簡捷鍵。菜單打開后這個菜單的控件名設置成mnuNewFileSpec。這個控件的Click事件過程是:

      Private Sub mnuNewFileSpec Click
      Unload Form1
      Load Form1
      GetFile
      End Sub
      Unload Form1這個代碼行清除控件數組的舊元素。GetFile 處理過程是這樣的:
      Public Sub GetFile ( )
      'local variables
      Dim FileSpec As String
      Form2. Hide
      FileSpesc=InputBox$ ("File specification?")
      If FileSpesc= "" Then
      Directons
      Else
      Form1.Show
      DisplayFiles (FileSpec)
      End If
      End Sub

      在啟動窗體上顯示文件的詳細住處包含在一個通用過程DisplayFiles中,該過程只有一個參數,該過程如下:

      Public Sub DisplayFiles (FileSpec As String)
      ‘Local variables
      Dim NameOfFile As String
      Dim ControlIndex As Integer
      Form1 .Show
      Form1.Width=8000
      Form1.Height=5500
      Form1.Garbage.Move 7000,4200 'move the garbage can icon
      NameOfFile=Dir $(FileSpec)
      If NameOfFile= " " Then
      MsgBox "No Files found with that file specification
      End If
      ControlIndex= ControlIndex +1 'start with index=1
      Do While NameOgFile<> ""
      Load Form1.Files(ControlIndex)
      Load Form1.FileName(Contro;Index)
      Column=(ControlIndex Mod 6)
      Row=(ControlIndex-1)\6
      Form1.Files(ControlIndex).Move(1300*Column)+275, 800*Row+2 'to allow for menu
      Form1.FileName(ControlIndex).Move 1300*Column, 800*(Row+1)
      Form1.Files(ControlIndex).Visible=True
      Form1.Filename(ControlIndex).Visible=True
      Form1.Filename(ControlIndex).Caption=NameOfFile
      ControlIndex= ControlIndex+1
      If ControlIndex >30 Then
      MsgBox("Too many files!")
      Exit Do
      End If
      NameOfFile=Dir$
      Loop
      End Sub

      DO循環實現將圖片框及標簽分隔開,分隔的間距通過用不同的值試驗確定。就像控件數組中的所有新元素一樣,在將Visible特性設置成True之前,它們都是不可見的。

      為了結束程序,只需將事件過程與窗體上的Quit菜單項關聯,并增加一個查詢Unload事件來結束程序。

      Sub mnuQuit_Click()
      Unload Form2
      Unload Me
      End Sub
      Sub Form_Unload(Cancel As Integer,Unload Mode As Integer)
      End
      End Sub

      以上程序的設計方法,介紹了怎樣在Visual Basic中如何用鼠標拖動刪除文件以及對文件的處理方法。程序設計通過控制鼠標的動態操作,使得用戶操作時感到方便直觀。如果在自己開發的的程序中能做到這些,就可以讓自己的程序也會具有Windows風格。當然實現鼠標拖動刪除文件方法很多,此處談論的方法供各位同仁參考。

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>