Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вызов окна Добавлено: 04.03.03 00:16  

Автор вопроса:  EROS

Парни! Подскажите плз как вызвать стандартное Win окно под названием "Обзор папок"? Оно появляется когда нажимаем например "Переместить файл в...". И как получит путь к папке которую там выбрали?

Заранее спасибо!

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Sergey M.



Вопросов: 9
Ответов: 68
 Профиль | | #1 Добавлено: 04.03.03 03:22

в модуле:

Public 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
    
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" _

Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath _

As String) As Long


Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _

 "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

Public Const BIF_RETURNONLYFSDIRS = &H1

в форме:

Private Sub Command1_Click()
    Dim myBrowseInfo As BROWSEINFO
    Dim execNumderDir As Boolean
    Dim NumderDir As Long
    Dim pos As Integer
    Dim myPath_512 As String
    Dim mypath
    With myBrowseInfo
      .hOwner = Me.hWnd
      .pidlRoot = 0&
      .lpszTitle = "Âûáåðèòå äèðåêòîðèþ"
      .ulFlags = BIF_RETURNONLYFSDIRS
    .ulFlags = &H1
    End With
   
    NumderDir& = SHBrowseForFolder(myBrowseInfo)
    myPath_512$ = Space$(512)
    execNumderDir = SHGetPathFromIDList(ByVal NumderDir&, ByVal myPath_512$)

    If execNumderDir Then
        pos = InStr(myPath_512$, Chr$(0))
        mypath = Left(myPath_512$, pos - 1)
    Else: mypath = ""
    End If
    Text1.Text = mypath

End Sub

 

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 05.03.03 00:11
Спасибо! Все отлично работает!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам