Dostosowywanie okna dialogowego Win32 File Save
Próbuję zapisać plik za pomocąGetSaveFileName
i chcesz mieć kilka dodatkowych wyskakujących okien na dole okna dialogowego zapisywania plików, aby umożliwić użytkownikowi określenie dalszych opcji. Próbuję śledzićDokumentacja MSDN (konkretnieDostosowywanie w stylu Explorer) na ten temat, ale nie wydaje mi się, aby mój niestandardowy element pojawił się. Wierzę, że ustawiłemOPENFILENAME
struct poprawnie, ponieważ otrzymuję połączenia do mojegoOFNHookProc
. O ile mi wiadomo, to podczasWM_INITDIALOG
wiadomość, że powinienem tworzyć moje podkontroli, co właśnie robię:
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);
}
Zwracam również 1 z mojegoOFNHookProc
dlaWM_INITDIALOG
wiadomość i 0 dla wszystkiego innego.
We wszystkich moich próbach pokazania comboboxu w oknie dialogowym nie nadchodzi. Czego mi brakuje w moim kodzie, aby combobox stał się częścią dostosowywania okna dialogowego zapisywania plików?