Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Comanche
#1

Вопрос по стандартному диалогу - VB

30.06.2010, 13:59. Просмотров 522. Ответов 3
Метки нет (Все метки)

Вызываю окно стандартного диалога открытия файла. У меня Win2000, поэтому указывая флаг OFN_EXPLORER, я получаю диалог в стиле Win2000/XP - когда слева расположен вертикальный тулбар (класс 'ToolbarWindow32') для быстрого переключения в 'Мои документы', 'Рабочий стол' и т.д. Красота. Но как только я подключаю ещё и флаг OFN_ENABLEHOOK, то тулбар пропадает и диалог получается в 'старом' стиле.

Почему так?! Полазил по MSDN, сходил на http://vbnet.mvps.org/index.html?code/comdlg/fileopendlg.htm - и так и не нашёл объяснения этому 'эффекту'.

Хочется и 'новый' стиль, и хук...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2010, 13:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вопрос по стандартному диалогу (VB):

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves)
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её...

Немодальный диалог, передача переменной главному диалогу
вобщем столкнулся с такой проблемкой: по нажатию на кнопке открываю не...

Создаю окно CWnd дочернее к диалогу, проблема с NWHD
MyWnd = new CWnd срабатывает; MyWnd->Create(...) Срабатывает;...

где firefox хранит путь к диалогу для сохранения файлов(сохранить как)
Хочу определить где firefox хранит путь к диалогу для сохранения...

Рекомендации по диалогу "Справка" для приложения?
Всем доброго времени суток, Хочу организовать небольшую справочку\Help для...

Подключится к стандартному RDP
Добрый день. Есть win server 2012 r2. Настроен стандартный удаленный рабочий...

3
Comanche
30.06.2010, 14:18 #2
Кажись, раскопал.
Вот две ссылки по теме:

http://groups.google.com/groups?hl=e...ews.nwlink.com

и

http://softwareforums.intel.com/ids/...essage.id=1386

Я увеличил размер структуры OPENFILENAME на 12:
Visual Basic
1
OFN.nStructSize = Len(OFN) + 12
и тулбар слева появился.

Однако, это идёт в разрез с объяснениями, данными по адресу:
http://vbnet.mvps.org/index.html?code/comdlg/fileopendlg.htm

где приведён вот такой код:
Visual Basic
1
2
3
4
5
6
If IsWin2000Plus() Then
' функция IsWin2000Plus() вернёт True, если версия ОС - Win2000 и выше
         .nStructSize = Len(OFN)
Else
         .nStructSize = Len(OFN) - 12
End If
Можете пояснить, что за ерунда?
У меня как раз Win2000, - значит, согласно этому коду, я НЕ должен менять размер структуры; менять - причём в меньшую сторону - предлагается как раз при ОС Win9x/Me/NT4.

На деле, я под своими Win2000 МЕНЯЮ размер структуры - в бОльшую (!) сторону - и всё начинает работать при этом. Чушь какая-то. Обычно на сайте 'vbnet.mvps.org' в статьях не ошибаются...
Messir
01.07.2010, 15:30 #3
Видимо, по умолчанию структура определена под ранние версии Винды (чтобы везде работало), поэтому для более поздних надо добавлять поля, и их размер соответственно...
Comanche
01.07.2010, 17:37 #4
Да, это объясняет, почему прибавив 12, я решил проблему. Но вот почему ниже 'If IsWin2000Plus() Then' идёт такой код (см. выше) - всё равно неясно!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2010, 17:37
Привет! Вот еще темы с решениями:

Приведение HTML к стандартному виду
В хроме инструменты разработчика косметически корректирую код страницы -...

Не сохраняет на Access. По стандартному подключению
Всем здрасте. Сорри если тема банальная. Но ответов не нашел. Как Вы все...

Вернуть Access к стандартному виду
Я в Параметрах запуска убрал метки с вывода окна базы данных, строки состаяния,...

Приведение к ближайшему стандартному значению
Добрый день, помогите туплю.... с тем что туплю сам разберусь. а с задачкой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru