Насколько мне известно, стандартная функциональность диалога Open / Save предоставляется только через модальное диалоговое окно (через GetOpenFilename Win32 API).
Существует стандартный механизм настройки диалога (см. Skizz answer ), но он остается модальным диалогом. Одним из примеров расширенной настройки был диалог VB6 Open Project :
![enter image description here](https://i.stack.imgur.com/Thh6W.jpg)
Вкладка Existing
содержит диалоговое окно файла. Как они это делают? Я имею в виду, как им удалось поместить стандартный диалог на страницу их страницы свойств с 3 вкладками?
Похоже, что они просто использовали стандартный диалог настройки и добавили элемент управления вкладками над стандартными элементами управления dir / file и просмотр списка для других «вкладок» над элементами управления dir / file. Эти элементы управления dir / file были затем скрыты пользовательским кодом при нажатии на вкладку, отличную от Existing
. Вы получаете это: никаких реальных вкладок! Просто старый добрый файловый диалог, в котором основные элементы управления могут быть скрыты в пользу других.
Итак, мой короткий ответ: вам почти не повезло, если вы используете диалог в качестве дочернего элемента управления.
Теперь, чтобы вернуться в Office: я считаю, что лучше вести модальный диалог. В противном случае это могло бы сбить пользователя с толку: путь, который я начал набирать, реальный путь, я просто нажал «Домой» и оставил команду сохранения незавершенной?