Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic

Войти
Регистрация
Восстановить пароль
 
Comanche
#1

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

30.06.2010, 13:59. Просмотров 506. Ответов 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) - VB
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама по себе она нигде не используется: лишь...

Немодальный диалог, передача переменной главному диалогу - Visual C++
вобщем столкнулся с такой проблемкой: по нажатию на кнопке открываю не модальный диалог CNoModalDlg *pDlg; pDlg = new CNoModalDlg(); ...

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

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

Server 2012 Подключится к стандартному RDP - Windows Server
Добрый день. Есть win server 2012 r2. Настроен стандартный удаленный рабочий стол. Внутри локалки все работает. Как подключится извне к...

Невозможность приведения к стандартному типу - C++
Не могу привести к стандартному типу объект класса. Вот код: class Casting { private: double X; public: Casting() :...

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' идёт такой код (см. выше) - всё равно неясно!
01.07.2010, 17:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2010, 17:37
Привет! Вот еще темы с ответами:

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

.NET 4.x Приведение HTML к стандартному виду - C#
В хроме инструменты разработчика косметически корректирую код страницы - добавляют обрамляющие двойные кавычки вокруг параметров, делают...

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

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


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

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

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