CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

请问 common dialog 控件如何设定选择目录还是选择文件?

楼主irischenxi()2006-02-07 14:43:06 在 VB / 控件 提问

请问   common   dialog   控件如何设定选择目录还是选择文件? 问题点数:20、回复次数:4Top

1 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-02-07 14:51:34 得分 5

http://community.csdn.net/Expert/topic/4537/4537504.xml?temp=.3551294Top

2 楼whachun(jakly)回复于 2006-02-08 17:10:23 得分 5

它只能选择文件,不能选择目录  
  要想选择目录得用APITop

3 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-02-08 17:21:51 得分 5

选择目录用SHBrowseForFolderTop

4 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-02-10 13:52:25 得分 5

Private   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   Long  
  End   Type  
  Const   BIF_RETURNONLYFSDIRS   =   1  
  Const   MAX_PATH   =   260  
  Private   Declare   Sub   CoTaskMemFree   Lib   "ole32.dll"   (ByVal   hMem   As   Long)  
  Private   Declare   Function   lstrcat   Lib   "kernel32"   Alias   "lstrcatA"   (ByVal   lpString1   As   String,   ByVal   lpString2   As   String)   As   Long  
  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   Sub   Form_Load()  
          'KPD-Team   1998  
          'URL:   http://www.allapi.net/  
          'KPDTeam@Allapi.net  
          Dim   iNull   As   Integer,   lpIDList   As   Long,   lResult   As   Long  
          Dim   sPath   As   String,   udtBI   As   BrowseInfo  
   
          With   udtBI  
                  'Set   the   owner   window  
                  .hWndOwner   =   Me.hWnd  
                  'lstrcat   appends   the   two   strings   and   returns   the   memory   address  
                  .lpszTitle   =   lstrcat("C:\",   "")  
                  'Return   only   if   the   user   selected   a   directory  
                  .ulFlags   =   BIF_RETURNONLYFSDIRS  
          End   With  
   
          'Show   the   'Browse   for   folder'   dialog  
          lpIDList   =   SHBrowseForFolder(udtBI)  
          If   lpIDList   Then  
                  sPath   =   String$(MAX_PATH,   0)  
                  'Get   the   path   from   the   IDList  
                  SHGetPathFromIDList   lpIDList,   sPath  
                  'free   the   block   of   memory  
                  CoTaskMemFree   lpIDList  
                  iNull   =   InStr(sPath,   vbNullChar)  
                  If   iNull   Then  
                          sPath   =   Left$(sPath,   iNull   -   1)  
                  End   If  
          End   If  
   
          MsgBox   sPath  
  End   Sub  
  Top

相关问题

  • 目录控件
  • 关于控件common dialog的问题
  • microsoft common dialog control 6.0控件在那里?
  • 用一个dialog控件,想在dialog->ExeCute()时选择一个目录而不是选择文件如何做??
  • 为什么common dialog控件在win98里用不了?
  • 请问用API速度快Common Dialog控件快
  • 哪里有浏览目录的控件?
  • 求一树形目录选择控件
  • Js模拟VB的Microsoft Common Dialog Control控件中的ShowSave的功能
  • 文件控件中目录列表框的使用方法

关键词

  • .net
  • 选择
  • 文件
  • 选择目录
  • longprivate
  • browseinfo
  • long
  • byval
  • lib
  • declare function

得分解答快速导航

  • 帖主:irischenxi
  • zyl910
  • whachun
  • zyl910
  • ZOU_SEAFARER

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo