Отображение диалоговых окон из библиотеки DLL или XLL

Область применения: Excel 2013 | Office 2013 | Visual Studio

Чтобы отобразить диалоговое окно Win32 с помощью, например, функции Windows SDK DialogBox, необходимо сначала получить полный 32-разрядный экземпляр и дескриптор окна main для Excel. Дополнительные сведения см. в разделе Access Excel Instance and Main Window Handles.

Если проект содержит ресурс диалогового окна, необходимо выполнить несколько действий, чтобы задать для подпрограммы обработки сообщений значение только что отображаемого диалогового окна и восстановить подпрограмму обработки сообщений Excel при закрытии диалогового окна. Пример команды fShowDialog в универсальном проекте демонстрирует использование функций Windows для правильного выполнения этой задачи.

Вы также можете отображать диалоговые окна с помощью API C без использования Windows SDK функций. Однако возможности диалоговых окон API C очень ограничены по сравнению с возможностями Windows, Visual Basic для приложений (VBA) или Microsoft Foundation Classes (MFC). (Например, диалоговые окна API C всегда являются модальными.

См. также

Создание XLL-файлов

Разработка библиотек DLL

Доступ к дескрипторам основного окна и экземпляра Excel

Функции API C, которые можно вызывать только из библиотеки DLL или XLL