Personalizando o diálogo Salvar arquivo do Win32
Eu estou tentando salvar um arquivo usandoGetSaveFileName
e quero ter alguns pop-ups extras na parte inferior da minha caixa de diálogo salvar arquivo para permitir que o usuário especifique outras opções. Eu estou tentando seguir oDocumentação MSDN (especificamente oPersonalização no estilo Explorer) sobre o assunto, mas parece que não consigo que meu item personalizado apareça. Eu acredito que eu configurei oOPENFILENAME
struct corretamente como eu estou recebendo chamadas para o meuOFNHookProc
. Tanto quanto eu sei, é durante oWM_INITDIALOG
mensagem que eu deveria estar criando meus subcontroles, que é o que estou fazendo:
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);
}
Eu também retorno 1 do meuOFNHookProc
para oWM_INITDIALOG
mensagem e 0 para todo o resto.
Em todas as minhas tentativas de mostrar a caixa de combinação na caixa de diálogo, ela não está chegando. O que estou perdendo do meu código para tornar a caixa de combinação uma parte da minha personalização de diálogo de arquivo salvo?