Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > создание диалога из dll


Автор: biper 13.8.2005, 06:19
как правильно описать диалоговую панель в dll чтобы ее можно было потом использовать?..функцию обработки диалога можно хранить в dll?
заранее спасибо!))

Автор: Leksey 13.8.2005, 10:41
Как обычно создать ее в ресурсах, а потом при Вызове CreateDialog указать ее ID и hInstance Dll.
И функцию обработки можно хранить в DLL,потом загрузить ее и подставить в последний параметр CreateDialog.

Автор: biper 13.8.2005, 14:05
Leksey
а как получить ID?

Автор: Leksey 13.8.2005, 15:13
Ну что-то тебе должно быть известно о диалоге(например имя).
Можно перечислить все диалоги в ресурсах EnumResourceNames.
Добавлено @ 15:15
Кстати ID можно получить открыв DLL какой нибудь програмой для просмотра ресурсов.
Например Resource Hacker.

Автор: rsm 14.8.2005, 13:52
Цитата(biper @ 13.8.2005, 08:19)
как правильно описать диалоговую панель в dll чтобы ее можно было потом использовать?

Вынеси в экспорты функцию, создающую диалог. Например так:
Код

extern "C" __declspec(dllexport) void ShowDialog()
{
     DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG), 0, &DialogProc);
}


Цитата(biper @ 13.8.2005, 08:19)
функцию обработки диалога можно хранить в dll?

Можно. В приведенном выше коде именно так и есть.

Автор: biper 14.8.2005, 15:26
rsm
спасибо!))уже разобрался))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)