filelistbox

时间:2024-12-09 23:41:31编辑:阿星

vb中关于filelistbox控件的问题

这个问题可以这样的解决:在vb6中调试通过。


1:首先在公共模块中:

Option Explicit

Public Const FO_MOVE = &H1
Public Const FO_COPY = &H2
Public Const FO_DELETE = &H3
Public Const FO_RENAME = &H4

Public Const FOF_NOCONFIRMATION = &H10
Public Const FOF_NOCONFIRMMKDIR = &H200
Public Const FOF_ALLOWUNDO = &H40

Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type
Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long



其次:在frm模块之中:

Private Sub Command1_Click()
Dim SHFileOp As SHFILEOPSTRUCT
SHFileOp.wFunc = FO_COPY
SHFileOp.fAborted = True
SHFileOp.pFrom = "F:\MEM\*.*"
SHFileOp.pTo = "f:\aa"
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
SHFileOperation SHFileOp

MsgBox "复制完成"

End Sub


注意:这是后台的一个拷贝,复制的过程当中软件还能操作,但是你要理解vb

的api函数的一些声明和用法,特别是SHFileOperation的用法。









2:FILELISTBOX控件显示文件的时候如何实现双击时删除选定的文件的解决:


在frm之中:一个listbox控件
Option Explicit

Private Const LB_ITEMFROMPOINT = &H1A9
Private Declare Function SendMessage Lib "user32"

Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal

wParam As Long, lParam As Any) As Long


Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim pos As Long
dim idx As Long

pos = X / Screen.TwipsPerPixelX + Y / Screen.TwipsPerPixelY * 65536

idx = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal pos)

Kill List1.List(idx)

List1.Refresh

End Sub


注意:Kill List1.List(idx)‘这个地方有可能不会达到你的要求,如果要删

除文件,则你要写全文件的路径,即是:

kill "c:\aaa\" & List1.List(idx)

如果是只是不显示在list中,则只需:List1.RemoveItem (idx) 就可以了!


你可以试一试!!!


在VB中如何获取指定文件夹下的所有文件名?

VB可以使用FileListBox 控件来获取指定文件夹内的所有文件名。FileListBox 控件,在运行时,在 Path 属性指定的目录中,FileListBox 控件将文件定位并列举出来。该控件用来显示所选择文件类型的文件列表。例如,可以在应用程序中创建对话框,通过它选择一个文件或者一组文件。以下是组合使用DriveListBox 、控件DirListBox 控件和FileListBox 控件来获取硬盘下任何一个文件夹内的文件名。Private Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub File1_Click()Dim i As LongDebug.Print "目录夹内存在" & File1.ListCount & "个文件。"End Sub

VB文件夹浏览器控件有吗??

Visual Basic 6.0 WebBrowser 控件(也称作 Microsoft Internet 控件或 Shdocvw.dll)是一种 ActiveX 控件,使用它可以在应用程序内承载 Internet Explorer。Visual Basic 2008WebBrowser 控件为 WebBrowser ActiveX 控件提供了托管包装。这样,便可以在 Windows 窗体客户端应用程序中显示网页。使用 WebBrowser 控件,可以复制应用程序中的 Internet Explorer Web 浏览功能,还可以禁用默认的 Internet Explorer 功能,并将该控件用作简单的 HTML 文档查看器。此外,可以使用该控件将基于 DHTML 的用户界面元素添加到窗体中,还可以隐瞒这些元素在 WebBrowser 控件中承载的事实。通过这种方法,可以将 Web 控件和 Windows 窗体控件无缝地整合到一个应用程序中。Internet Explorer 对象Visual Basic 6.0 Microsoft Internet 控件由两个组件组成:WebBrowser 控件和 Internet Explorer 对象,使用它们可以通过 OLE 自动化来控制 Internet Explorer 的实例。Visual Basic 2008 中没有 Internet Explorer 对象的等效项,与其相关的属性、方法和事件也不再存在。不再支持 OLE 自动化;使用类似 VBScript 的脚本语言可以控制 Internet Explorer 的外部实例。Document 属性在 Visual Basic 6.0 中,Document 属性返回包含 HTML 文档名称的字符串;在 Visual Basic 2008 中,该属性返回 HTML 文档本身。Refresh 和 Refresh2 方法Visual Basic 6.0 Refresh2 方法带有一个用于指定刷新级别的参数;Visual Basic 2008Refresh 方法带有一个可用于指定刷新级别的可选参数。WebBrowser 控件的属性、方法和事件的等效项

上一篇:富春集团

下一篇:没有了