CommonDialog - открыть несколько файлов...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
FreiDer
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 08.10.2004 (Пт) 15:36
Откуда: Электрогорск

CommonDialog - открыть несколько файлов...

Сообщение FreiDer » 09.01.2006 (Пн) 22:11

Проблема не в том как это сделать - весь инет кишит одним и тем же примером:
Код: Выделить всё
Private Sub ShowOpen()
On Error GoTo ErrorHandler
CommonDialog1.CancelError = True
CommonDialog1.Filter = "All Files (*.*)|*.*|Word Documents (*.doc )|*.doc |Text Files (*.txt)|*.txt|"
CommonDialog1.FilterIndex = 3
CommonDialog1.InitDir = "D:\DOCUMENTS"
CommonDialog1.Flags = cdlOFNFileMustExist Or cdlOFNAllowMultiselect
CommonDialog1.Action = 1 'Или же CommonDialog1.ShowOpen
MsgBox CommonDialog1.FileName
Exit Sub
ErrorHandler:
If Err.Number = 32755 Then Exit Sub
End Sub

Проблема в том, при использовании ключа cdlOFNAllowMultiselect
Стандартный диалог открытия файла, "слегка" видоизменяется, до неудобоваримого аля win95.
Хотя в то-же время доводилось видеть в различных программах и стандартный диалог "открыть..." с возможностью выбора нескольких файлов.
Помогите найти выход из ситуации... :roll:
Не флуда ради...

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 09.01.2006 (Пн) 23:05

Or cdlOFNExplorer
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

FreiDer
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 08.10.2004 (Пт) 15:36
Откуда: Электрогорск

Сообщение FreiDer » 10.01.2006 (Вт) 20:27

Добавил... Теперь CommonDialog1.FileName возвращает только директорию в которой лежат выбранные файлы (если выбрано более одного), если выбран один файл, то возвращает полный путь...

Бяда...
Не флуда ради...

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 10.01.2006 (Вт) 20:56

Он возвращает путь и файлы, разделенные chr(0) charami. В MsgBox'e этого естественно не видно :)
Если всё делать своими ручками, они скоро отвалятся !

FreiDer
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 08.10.2004 (Пт) 15:36
Откуда: Электрогорск

Сообщение FreiDer » 10.01.2006 (Вт) 21:13

:oops: Было похожее подозрение, но моя дурья башка решила проверить на label.caption, неудивительно что и там не было видно :lol:
Большое спасибо всем откликнувшимся :D
Не флуда ради...


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 174

    TopList