Я пытаюсь сохранить файл с помощью GetSaveFileName
и хочу иметь несколько дополнительных всплывающих окон в нижней части моего диалогового окна сохранения файла, чтобы пользователь мог указать дополнительные параметры. Я пытаюсь следовать за MSDN documentation (в частности, Explorer-style customization) по этому вопросу, но, похоже, не может получить свой пользовательский элемент. Я считаю, что правильно настроил структуру OPENFILENAME
, так как получаю звонки в свой OFNHookProc
. Насколько я знаю, что это во время WM_INITDIALOG
сообщения, которое я должен создавать свои субэлементы, что я и делаю:Настройка диалогового окна сохранения файла Win32
HWND settings_popup =
::CreateWindowExW(WS_EX_CLIENTEDGE | WS_EX_NOPARENTNOTIFY,
L"COMBOBOX",
L"Settings:",
WS_CHILD | WS_CLIPSIBLINGS | WS_VSCROLL | WS_BORDER | CBS_DROPDOWNLIST,
10,
10,
150,
30,
dialog, // the window parameter from the OFNHookProc
NULL,
::GetModuleHandle(NULL),
NULL);
if (settings_popup)
{
HWND parent = ::GetParent(settings_popup); // for verification
::ShowWindow(settings_popup, SW_SHOW);
::EnableWindow(settings_popup, true);
}
Я также возвращать 1 из моих OFNHookProc
для WM_INITDIALOG
сообщения и 0 для всех остальных ,
Во всех моих попытках отобразить выпадающее поле в диалоговом окне он не подходит. Что мне не хватает в моем коде, чтобы сделать combobox частью моей настройки настроек файла сохранения?
Почему вы не используете также собственный шаблон диалога? – MSN