vb6.0精简版官方下载文件夹里那个是打开应用程序的文件呀?

vb中5种打开文件夹浏览框的方法总结 - VB教程_VB编程_VB程序开发技术文章 - 红黑联盟
vb中5种打开文件夹浏览框的方法总结
by&&daokers&&&&&&
&&&&&& 众所周知,在vb中如果是打开某一个文件的话,非常简单,使用CommonDialog即可轻松完成,但是他只能选择文件,之后或许选取的文件路径,而如果想要浏览文件夹,就没这么方便了。
这里介绍3个办法来实现文件夹浏览。
第一个非常简单,利用Shell对象&程序代码引用Microsoft Shell Controls And AutomationDim ShellA As New ShellPrivate Sub Command1_Click()&&& 建立一个按钮对象&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Dim Shellb As FolderSet Shellb = ShellA.BrowseForFolder(0, "选择文件夹", 0)ShellA.Open bEnd Sub
记得一定要引用Microsoft Shell Controls And Automation第二种方法,我们同样利用shell对象,但是加几个函数
引用Microsoft Shell Controls And AutomationPrivate shlShell As Shell32.ShellPrivate shlFolder As Shell32.FolderPrivate Const BIF_RETURNONLYFSDIRS = &H1Private Sub Command1_Click() &&&&If shlShell Is Nothing Then&&&&&& Set shlShell = New Shell32.Shell&&&&End If&&&&Set shlFolder = shlShell.BrowseForFolder(Me.hWnd, "请选择文件夹", BIF_RETURNONLYFSDIRS)&&&&If Not shlFolder Is Nothing Then&&&&&& MsgBox shlFolder.Items.Item.Path&&测试&&&&End IfEnd Sub
上面2个方法的结果如图:第三个方法,是利用API来操作。
Private Const BIF_RETURNONLYFSDIRS = 1Private Const BIF_DONTGOBELOWDOMAIN = 2Private Const MAX_PATH = 260Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BrowseInfo) As LongPrivate Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As LongPrivate Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As LongPrivate Type BrowseInfo&&&& hWndOwner As Long&&&& pIDLRoot As Long&&&& pszDisplayName As Long&&&& lpszTitle As Long&&&& ulFlags&&&&As Long&&&& lpfnCallback&&&& As Long&&&& lParam&&&& As Long&&&& iImage&&&& As LongEnd TypePrivate Sub Command1_Click()&&&& Dim lpIDList As Long&&&& Dim sBuffer As String&&&& Dim szTitle As String&&&& Dim tBrowseInfo As BrowseInfo&&&& szTitle = App.Path&&&& With tBrowseInfo&&&&&&&&&&.hWndOwner = Me.hWnd&&&&&&&&&&.lpszTitle = lstrcat(szTitle, "")&&&&&&&&&&.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN&&&& End With&&&& lpIDList = SHBrowseForFolder(tBrowseInfo)&&&& If (lpIDList) Then&&&&&&&&&&sBuffer = Space(MAX_PATH)&&&&&&&&&&SHGetPathFromIDList lpIDList, sBuffer&&&&&&&&&&sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)&&&&&&&&&&MsgBox sBuffer&&&& End IfEnd Sub
如果希望对话框中有“新建文件夹”,那么就给.ulFlags 加上BIF_USENEWUI属性,BIF_RETURNONLYFSDIRS 的意思是仅仅返回文件夹。效果如图:同时我也打包2个完整的利用此API的代码,有意者请自己学习了。第4个方法。其实是第三个方法的改进,就是打开对话框后,自动定位到当前文件夹位置 。
Objects:&& Form1、Command1、Module1&& &&Form1:&& &&Option&& Explicit&& &&Private&& Const&& BIF_RETURNONLYFSDIRS&& =&& 1&& &&Private&& Const&& BIF_DONTGOBELOWDOMAIN&& =&& 2&& &&Private&& Const&& MAX_PATH&& =&& 260&& &&Private&& Declare&& Function&& SHBrowseForFolder&& Lib&& "shell32"&& (lpbi&& As&& BrowseInfo)&& As&& Long&& &&Private&& Declare&& Function&& SHGetPathFromIDList&& Lib&& "shell32"&& (ByVal&& pidList&& As&& Long,&& ByVal&& lpBuffer&& As&& String)&& As&& Long&& &&Private&& Declare&& Function&& lstrcat&& Lib&& "kernel32"&& Alias&& "lstrcatA"&& (ByVal&& lpString1&& As&& String,&& ByVal&& lpString2&& As&& String)&& As&& Long&& &&Private&& Declare&& Function&& LocalAlloc&& Lib&& "kernel32"&& (ByVal&& uFlags&& As&& Long,&& ByVal&& uBytes&& As&& Long)&& As&& Long&& &&Private&& Declare&& Sub&& CopyMemory&& Lib&& "kernel32"&& Alias&& "RtlMoveMemory"&& (pDest&& As&& Any,&& pSource&& As&& Any,&& ByVal&& dwLength&& As&& Long)&& &&Private&& Const&& LPTR&& =&& (&H0&& or&& &H40)&& &&Private&& Type&& BrowseInfo&& &&&&&&&&&&&&&&&&&&hWndOwner&&&&&&&&&&&& As&& Long&& &&&&&&&&&&&&&&&&&&pIDLRoot&&&&&&&&&&&& As&& Long&& &&&&&&&&&&&&&&&&&&pszDisplayName&& As&& Long&& &&&&&&&&&&&nbsVB6.0 在代码中直接调用 文件打开对话框,不使用windows控件 - Alfa - 博客园
随笔 - 276, 文章 - 1, 评论 - 29, 引用 - 0
Dim fileDlg As Object
' 文件对话框
' 变量初始化
Set fileDlg = CreateObject("monDialog")
' 打开附件
fileDlg.DialogTitle = "选择附件文件"
fileDlg.Filter = "Excel (*.*.xlsx)|*.*.xlsx|" & _
"Word (*.*.docx)|*.*.docx|" & _
"文本文件(*.txt)|*.txt|" & _
"压缩文件(*.*.zip)|*.*.zip|" & _
"PDF(*.pdf)|*.pdf"
fileDlg.FilterIndex = 2
fileDlg.ShowOpen
If fileDlg.FileName && "" Then
sourceFilePath = fileDlg.FileName
' 取得附件路径
rtnResult = True
' 未打开文件的时候 就不提示错误消息了,所以返回 True
GoTo EndHandle用VB6.0实现显示和隐藏_程序_选单,aoc显示器选单锁定,隐藏文件怎么..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
用VB6.0实现显示和隐藏_程序_选单
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口以下试题来自:
单项选择题VB6.0是(
)应用程序的开发工具。A.8位B.16位C.32位D.64位
为您推荐的考试题库
你可能感兴趣的试题
1A.打开“我的电脑”,找到存放Visual Basic所在系统文件的硬盘及文件夹,双击“VB6.exe”图标B.在DOS窗口中,键入Visual Basic的路径,执行Visual Basic可执行文件C.利用“开始”菜单中的“程序”命令可启动Visual BasicD.A和C2A.Drive1_ChangeB.Drive1_ClickC.Dir1_ClickD.Dir1_Change3A.编码设计B.测试阶段C.运行阶段D.物理设计4A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型5A.Private Sub Command1_Click()
x=InputBox("请输入整数")
a=F1(Val(x))
Function F1(byRef b As Integer)
If b Mod 2=0 Then
End FuncfionB.Privae Sub Command1_Click()
x=InputBox("请输入整数")
a=F1(Val(x))
Function F1(byRef b As Integer)
If b Mod 2=0 Then
End FunctionC.Private Sub Command1_Click()
x=InputBox("请输入整数")
Function F1(byRef b As Integer)
If b Mod 2=0 Then
End FuncfionD.Private Sub Command1_Click()
x=InputBox("请输入整数")
F1(Val(x))
Function F1(ByrRef b As Integer)
If b Mod 2=0 Then
End Function
热门相关试卷
最新相关试卷

我要回帖

更多关于 vb6.0精简版 迅雷下载 的文章

 

随机推荐