BgsBrowseFFolder

Classe per utilizzare la ricerca per cartelle.

Autore: Giorgio Bernardi
E-Mail: BGSoftware@hotmail.com
Web: http://Giorgio_Bernardi.tripod.com
Data : Novembre 2000
Info :Potete usare e modificare a piacimento questo codice.


Le Istruzioni sono state ispirate da AdvanceBrowseForFolder By Mauro Rossi. Web: http://www.mauro.sistel.it/.

Const Summary
Private BIF_BROWSEINCLUDEFILES
Aggiunge La possibilità di selezionare files
Private BIF_RETURNONLYFSDIRS
For finding a folder to start document searching
Private WM_USER
 
Types Summary
Public BaseFoldersForBrowsing
Enum BaseFoldersForBrowsing
Default = -1
Desktop = 
InternetExplorer = 
Programmi = 
PannelloDiControllo = 
Stampanti = 
Documenti = 
preferiti = 
EsecuzioneAutomatica = 
Recenti = 
InviaA = 
Cestino = 
MenuAvvio = 
NON_USATO = 
NON_USATO2 = 
Video = 
NON_USATO3 = 
DesktopFolder = 
RisorseComputer = 
Rete = 
RisorseDiRete = 
Fonts = 
ShellNew = 
End Enum

Cartelle Base Da cui far Partire l'albero
Private BROWSEINFO
Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Tipo per il Browser
Private ITEMIDLIST
Type ITEMIDLIST
mkid As SHITEMID
End Type

Private SHITEMID
Type SHITEMID
cb As Long
abID As Byte
End Type

 
Field Summary
Public(String) DialogTitle
Il titolo della finestra
Public(String) fileName
Ultimo File Aperto
Public(String) Folder
Ultima Cartella Aperta
Public(Boolean) ViewFiles
Imposta la visualizzazione dei files
Public(BaseFoldersForBrowsing) ViewTreeFrom
Limitazione dell'albero
 
Method Summary
Private Class_Initialize()
Public fileNamePath( Percorso As String, Optional l As String, Optional l As String)
Dato Percorso inserisce in fileName il nome del file e in filePath la cartella del file.
Public(String) getFilePath( fileName As String)
Restituisce la cartella in cui è contenuto il file il cui percorso completo è fileName.
Private(Long) SHBrowseForFolder( lpbi As BROWSEINFO)
Api di Windows
Private(Long) SHGetPathFromIDList( ByVal pidList As Long, ByVal l As String)
Api di Windows
Private(Long) SHGetSpecialFolderLocation( ByVal hwndOwner As Long, ByVal l As Long, pidl As ITEMIDLIST)
Api di Windows
Public(String) ShowFolders( hWnd As Long)
Questa funzione deve essere chiamata passando l'Handle della finestra dalla quale si chiama la finestra di dialogo.
 
Details

BIF_BROWSEINCLUDEFILES

Private Const BIF_BROWSEINCLUDEFILES = &H4000&
Aggiunge La possibilità di selezionare files

BIF_RETURNONLYFSDIRS

Private Const BIF_RETURNONLYFSDIRS = &H1&
For finding a folder to start document searching

WM_USER

Private Const WM_USER = &H400&

BaseFoldersForBrowsing

Public Enum BaseFoldersForBrowsing
    Default = -1
    Desktop
    InternetExplorer
    Programmi
    PannelloDiControllo
    Stampanti
    Documenti
    preferiti
    EsecuzioneAutomatica
    Recenti
    InviaA
    Cestino
    MenuAvvio
    NON_USATO
    NON_USATO2
    Video
    NON_USATO3
    DesktopFolder
    RisorseComputer
    Rete
    RisorseDiRete
    Fonts
    ShellNew
End Enum
Cartelle Base Da cui far Partire l'albero

BROWSEINFO

Private Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type
Tipo per il Browser

ITEMIDLIST

Private Type ITEMIDLIST
    mkid As SHITEMID
End Type

SHITEMID

Private Type SHITEMID
    cb As Long
    abID As Byte
End Type

DialogTitle

Public DialogTitle As String
Il titolo della finestra

fileName

Public fileName As String
Ultimo File Aperto

Folder

Public Folder As String
Ultima Cartella Aperta

ViewFiles

Public ViewFiles As Boolean
Imposta la visualizzazione dei files

ViewTreeFrom

Public ViewTreeFrom As BaseFoldersForBrowsing
Limitazione dell'albero

Class_Initialize

Private Sub Class_Initialize()

fileNamePath

Public Sub fileNamePath(Percorso As String, Optional ByRef fileName As String, Optional ByRef filePath As String)
Dato Percorso inserisce in fileName il nome del file e in filePath la cartella del file.

getFilePath

Public Function getFilePath(fileName As String) As String
Restituisce la cartella in cui è contenuto il file il cui percorso completo è fileName.

SHBrowseForFolder

Private Declare Function SHBrowseForFolder Lib "shell32.dll" (lpbi As BROWSEINFO) As Long
Api di Windows

SHGetPathFromIDList

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Api di Windows

SHGetSpecialFolderLocation

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Api di Windows

ShowFolders

Public Function ShowFolders(hWnd As Long) As String
Questa funzione deve essere chiamata passando l'Handle della finestra dalla quale si chiama la finestra di dialogo.