Directory

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Directory

Сообщение iolaus » 31.08.2004 (Вт) 20:35

есть компонент CommonDialog, он для файлов, с какой компонент нужен чтоюы открывать папки (у всех программ есть такой стандартный...)????
This message will self destruct in five seconds!!!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.08.2004 (Вт) 20:56

Это не компонент, это
Код: Выделить всё
Option Explicit

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 Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)

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

Private Sub Form_Load()
  Dim bi As BrowseInfo, lpIDList As Long
  Dim Folder As String
 
  bi.lpszTitle = StrPtr(StrConv("Выбираем...", vbFromUnicode))
  bi.hwndOwner = hWnd
 
  lpIDList = SHBrowseForFolder(bi)

  Folder = String$(255, 0)
  SHGetPathFromIDList lpIDList, Folder
  CoTaskMemFree lpIDList
  Folder = Left$(Folder, InStr(Folder, vbNullChar) - 1)
  MsgBox Folder
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

iolaus
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 176
Зарегистрирован: 19.03.2002 (Вт) 18:33
Откуда: Москва

Сообщение iolaus » 31.08.2004 (Вт) 22:01

огромное спасибо...

а почему у меня
bi.lpszTitle = StrPtr(StrConv("Выбираем...", vbFromUnicode))

выдает иероглифы???
This message will self destruct in five seconds!!!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.08.2004 (Вт) 22:06

А фиг его знает...
Ну попробуй убрать strconv.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList  
cron