Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Manca il
Forum - Visual Basic 6 - Manca il "crea cartella"!!!

Avatar
Cross (Normal User)
Pro


Messaggi: 61
Iscritto: 06/05/2007

Segnala al moderatore
Postato alle 17:18
Giovedì, 31/05/2007
ciao a tutti voi che fate parte di questo grande e bellissimo forum.
ho un problemuccio.
ragazzi nel programma che ho fatto, premendo sul pulsante sfoglia mi compare il famoso "sfoglia per cartelle" di windows.
però in questo "sfoglia per cartelle" nn cè il pulsante "crea cartella", come mai???
Se cè un codice da scrivere me lo potete dire????
grazie molte

PM Quote
Avatar
motoboy (Ex-Member)
Pro


Messaggi: 152
Iscritto: 05/04/2007

Segnala al moderatore
Postato alle 18:19
Giovedì, 31/05/2007
Testo quotato

Postato originariamente da Cross:

ciao a tutti voi che fate parte di questo grande e bellissimo forum.
ho un problemuccio.
ragazzi nel programma che ho fatto, premendo sul pulsante sfoglia mi compare il famoso "sfoglia per cartelle" di windows.
però in questo "sfoglia per cartelle" nn cè il pulsante "crea cartella", come mai???
Se cè un codice da scrivere me lo potete dire????
grazie molte



Si chiama COMMON DIALOG, in VB.
E non sfoglia cartella di Win.

Del resto, se hai creato te il tuo progetto dovresti sapere che potresti benissimo crearti il "Crea Cartella", nel tuo "Sfoglia cartelle" ;)

PM Quote
Avatar
Cross (Normal User)
Pro


Messaggi: 61
Iscritto: 06/05/2007

Segnala al moderatore
Postato alle 18:43
Giovedì, 31/05/2007
guarda nn lo fatto tutto io, perchè ci sono state spiegazioni da parte di un'utente nn di questo forum, solo che ora lui nn risponde + e quindi mi rivolgo a voi.
se perfavore me lo potete dire o spiegare.
perfavore...
grazie

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 18:45
Giovedì, 31/05/2007
posta il codice altrimenti è difficile aiutarti.
solo la parte interessata non l'intero progetto.

PM Quote
Avatar
Cross (Normal User)
Pro


Messaggi: 61
Iscritto: 06/05/2007

Segnala al moderatore
Postato alle 19:19
Giovedì, 31/05/2007
Codice sorgente - presumibilmente Plain Text

  1.  

Option Explicit

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

Private Const BIF_RETURNONLYFSDIRS = &H1
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

Public Function SfogliaCartelle(ByVal Handle As Long) As String
     Dim BInfo As BROWSEINFO
     Dim CartellaScelta As Long
     Dim PercorsoAllocato As Long
     Dim PercorsoScelto As String
     BInfo.hOwner = Handle
     BInfo.lpszTitle = "Scegli una cartella:"
     BInfo.ulFlags = BIF_RETURNONLYFSDIRS
     PercorsoAllocato = SHBrowseForFolder(BInfo)
     PercorsoScelto = Space$(512)
     CartellaScelta = SHGetPathFromIDList(PercorsoAllocato, PercorsoScelto)
     If CartellaScelta Then
          SfogliaCartelle = Left$(PercorsoScelto, InStr(PercorsoScelto, Chr$(0)) - 1)
          CoTaskMemFree PercorsoAllocato
     Else
          SfogliaCartelle = ""
     End If
End Function

Private Sub Sfoglia_Click()
    Percorso.Text = SfogliaCartelle(Me.hWnd)
End Sub

ok questo è il codice.
cosa devo cambiare o inserire???
grazie molte

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 11:13
Venerdì, 01/06/2007
Private Const BIF_USENEWUI = &H40
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

Public Function SfogliaCartelle(ByVal Handle As Long) As String
Dim BInfo As BROWSEINFO
Dim CartellaScelta As Long
Dim PercorsoAllocato As Long
Dim PercorsoScelto As String
BInfo.hOwner = Handle
BInfo.lpszTitle = "Scegli una cartella:"
BInfo.ulFlags = BIF_USENEWUI
PercorsoAllocato = SHBrowseForFolder(BInfo)
PercorsoScelto = Space$(512)
CartellaScelta = SHGetPathFromIDList(PercorsoAllocato, PercorsoScelto)
If CartellaScelta Then
SfogliaCartelle = Left$(PercorsoScelto, InStr(PercorsoScelto, Chr$(0)) - 1)
CoTaskMemFree PercorsoAllocato
Else
SfogliaCartelle = ""
End If
End Function

et voilà
bastava modificare lo stile.

Ultima modifica effettuata da P4p3r0g4 il 01/06/2007 alle 11:14
PM Quote