• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        用Visual Basic編程創(chuàng)建自己的回收站

        用Visual Basic編程創(chuàng)建自己的回收站

        更新時間:2022-04-27 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

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

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

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

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

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

        這個項目中的大多數(shù)工作都體現(xiàn)在下面的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這一行代碼找出被拖動控件的索引;接下來的兩行代碼使圖片框和標(biāo)簽在放置操作后暫時不可見。ControlIndex變量讓Visual Basic從標(biāo)簽數(shù)組中提取標(biāo)題(也就是文件名)。消息框的類型為=vbYesNo,因此是個Yes/No消息框,標(biāo)題是Confirmation Box。Kill命令從磁盤中刪除文件。一旦程序刪除了文件,就從控件數(shù)組中卸除標(biāo)簽和圖片框。如果用戶操作有誤,確認(rèn)的消息框返回No,則程序代碼使得原來的圖片框和標(biāo)簽再次顯現(xiàn)。

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

        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窗體并調(diào)用顯示信息的通用過程。它可以這樣的:

        Private Sub Form-Load ()

        Load Form2

        Directons

        End Sub

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

        New File Spec

        Exit

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

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

        Private Sub mnuNewFileSpec Click

        Unload Form1

        Load Form1

        GetFile

        End Sub

        Unload Form1這個代碼行清除控件數(shù)組的舊元素。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

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

        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循環(huán)實現(xiàn)將圖片框及標(biāo)簽分隔開,分隔的間距通過用不同的值試驗確定。就像控件數(shù)組中的所有新元素一樣,在將Visible特性設(shè)置成True之前,它們都是不可見的。

        為了結(jié)束程序,只需將事件過程與窗體上的Quit菜單項關(guān)聯(lián),并增加一個查詢Unload事件來結(jié)束程序。

        Sub mnuQuit_Click()

        Unload Form2

        Unload Me

        End Sub

        Sub Form_Unload(Cancel As Integer,Unload Mode As Integer)

        End

        End Sub


        以上程序的設(shè)計方法,介紹了怎樣在Visual Basic中如何用鼠標(biāo)拖動刪除文件以及對文件的處理方法。程序設(shè)計通過控制鼠標(biāo)的動態(tài)操作,使得用戶操作時感到方便直觀。如果在自己開發(fā)的的程序中能做到這些,就可以讓自己的程序也會具有Windows風(fēng)格。當(dāng)然實現(xiàn)鼠標(biāo)拖動刪除文件方法很多,此處談?wù)摰姆椒ü└魑煌蕝⒖肌?/p>

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲一卡二卡三卡| 91在线亚洲精品专区| 亚洲爆乳无码精品AAA片蜜桃| 国产在线观看片a免费观看| 亚洲国产成人九九综合| 91嫩草免费国产永久入口| 亚洲欧洲日产v特级毛片| 精品无码国产污污污免费网站 | 黄色一级视频免费| 免费中文字幕不卡视频| 暖暖免费中文在线日本| 中文字幕在亚洲第一在线| 91精品成人免费国产| 亚洲AV无码成人专区片在线观看| 久久免费线看线看| 亚洲同性男gay网站在线观看| 国产在线国偷精品产拍免费| 在线观看亚洲免费| 亚洲成AV人片在| 久久久久av无码免费网| 国产v亚洲v天堂a无| xvideos亚洲永久网址| 久久国产精品免费一区| 久久久亚洲欧洲日产国码是AV| 成年女人色毛片免费看| 日日摸夜夜添夜夜免费视频| 久久精品国产亚洲av麻豆| 成人免费一级毛片在线播放视频| 噜噜综合亚洲AV中文无码| 亚洲愉拍99热成人精品热久久| 亚洲成年人免费网站| 亚洲av日韩av永久无码电影| 在线日韩日本国产亚洲| 久久精品国产免费观看三人同眠| 亚洲欧美日韩综合久久久久| 国产亚洲精品看片在线观看| 国产大片免费网站不卡美女| 人禽伦免费交视频播放| 久久亚洲精品无码aⅴ大香| 波多野结衣视频在线免费观看| 久久午夜夜伦鲁鲁片无码免费|