USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dialogo para selecionar pasta
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 23/11/2004 11:34 hs            
Olá. Sempre que preciso que o usuário selecione um arquivo, uso o Microsoft Common Dialog Control. Mas agora, preciso que ele selecione uma pasta. Qual componente devo usar?
 
Obrigado.
   
Sandro
não registrado
ENUNCIADA !
Postada em 23/11/2004 12:44 hs   
Você pode utilizar um DirListBox junto com um DriveListBox. Ao selecionar o Drive, o evento Change é disparado, então você digita o seguinte nele:
    Dir1.Path = Drive1.Drive
Pronto, ao selecionar o drive, a lista de pastas é automaticamente direcionada para ele. Você captura a pasta através da propriedade Path. 
   
THECRAZY
Pontos: 2843
BRASÍLIA
DF - BRASIL
ENUNCIADA !
Postada em 23/11/2004 12:46 hs            
Olhe em  : http://www.macoratti.net/file_vb.htm Fala Tudo  e mais um pouco !!!!!
 
 

  Eu sou o alfa e o ômega, o princípio e o fim, diz o Senhor, que é, e que era, e que há de vir, o Todo Poderoso. (Ap 1.8)
   
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 23/11/2004 12:51 hs            
Eu não queria usar esse DirListBox porque eu acho meio feio. Eu estava pensando numa janela parecida com a que abre no windows, quando a gente vai em Editar > Copiar arquivo para a pasta... Agora lembrei que com API dá pra usar esse Common Dialog. Será que existe alguma para o tipo de dialog que eu quero?
   
Sandro
não registrado
Postada em 23/11/2004 16:31 hs   
Realmente, o DirListBox é horrível. Eu falei para você usar isso, pois na máquina em que eu estava não tinha o VB e a minha vaga lembrança não permitia lembrar como eu havia resolvido isso a um tempo atrás... Mas agora, eu encontrei o código:
 
Private Type BrowseInfo
hWndOwner As Long
Root As Long
folderNamePtr As Long
title As Long
Flags As Long
callbackPtr As Long
callbackParam As Long
iImage As Long
End Type
Const MAX_PATH = 260
Declare Function SHBrowseForFolder Lib "shell32" (bi As BrowseInfo) As Long
Declare Function SHGetPathFromIDList Lib "shell32" (ByVal itemID As Long, ByVal path As String) As Long
Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal dest As String, ByVal As String) As Long

Na sua procedure digite isso:
Dim Info As BrowseInfo
Dim IdLista As Long
Dim Pasta As String

With Info
.hWndOwner = hWnd
.title = lstrcat(Mensagem, "")
.Flags = 0&
End With

IdLista = SHBrowseForFolder(Info)
Pasta = ""
If IdLista 0 Then
Pasta = Space(MAX_PATH)
Call SHGetPathFromIDList(IdLista, Pasta)
Pasta = Left(Pasta,Len(Pasta)-1)
End If
Acho que é isso que você quer.
Qualquer coisa, é só postar
Um abraço,
Sandro.
     
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 23/11/2004 19:15 hs            
Perfeito. Muito obrigado.
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página