Função DialogBoxIndirectParamA (winuser.h)
Cria uma caixa de diálogo modal de um modelo de caixa de diálogo na memória. Antes de exibir a caixa de diálogo, a função passa um valor definido pelo aplicativo para o procedimento da caixa de diálogo como o parâmetro lParam da mensagem WM_INITDIALOG. Um aplicativo pode usar esse valor para inicializar controles de caixa de diálogo.
Sintaxe
INT_PTR DialogBoxIndirectParamA(
[in, optional] HINSTANCE hInstance,
[in] LPCDLGTEMPLATEA hDialogTemplate,
[in, optional] HWND hWndParent,
[in, optional] DLGPROC lpDialogFunc,
[in] LPARAM dwInitParam
);
Parâmetros
[in, optional] hInstance
Tipo: HINSTANCE
Um identificador para o módulo que cria a caixa de diálogo.
[in] hDialogTemplate
Tipo: LPCDLGTEMPLATE
O modelo que DialogBoxIndirectParam usa para criar a caixa de diálogo. Um modelo de caixa de diálogo consiste em um cabeçalho que descreve a caixa de diálogo, seguido por um ou mais blocos adicionais de dados que descrevem cada um dos controles na caixa de diálogo. O modelo pode usar o formato padrão ou o formato estendido.
Em um modelo padrão para uma caixa de diálogo, o cabeçalho é uma estrutura DLGTEMPLATE seguida por matrizes de comprimento variável adicionais. Os dados de cada controle consistem em uma estrutura de DLGITEMTEMPLATE
Em um modelo estendido para uma caixa de diálogo, o cabeçalho usa o formato
[in, optional] hWndParent
Tipo: HWND
Um identificador para a janela que possui a caixa de diálogo.
[in, optional] lpDialogFunc
Tipo: DLGPROC
Um ponteiro para o procedimento da caixa de diálogo. Para obter mais informações sobre o procedimento da caixa de diálogo, consulte DialogProc.
[in] dwInitParam
Tipo: LPARAM
O valor a ser passado para a caixa de diálogo no parâmetro lParam da mensagem WM_INITDIALOG.
Valor de retorno
Tipo: INT_PTR
Se a função for bem-sucedida, o valor retornado será o parâmetro
Se a função falhar porque o parâmetro hWndParent for inválido, o valor retornado será zero. A função retorna zero nesse caso para compatibilidade com versões anteriores do Windows. Se a função falhar por qualquer outro motivo, o valor retornado será –1. Para obter informações de erro estendidas, chame GetLastError.
Observações
A função DialogBoxIndirectParam usa a função CreateWindowEx para criar a caixa de diálogo. dialogBoxIndirectParam envia uma mensagem WM_INITDIALOG para o procedimento da caixa de diálogo. Se o modelo especificar o estilo DS_SETFONT ou DS_SHELLFONT, a função também enviará uma mensagem de WM_SETFONT para o procedimento da caixa de diálogo. A função exibe a caixa de diálogo (independentemente de o modelo especificar o estilo WS_VISIBLE), desabilitar a janela do proprietário e iniciar seu próprio loop de mensagem para recuperar e expedir mensagens para a caixa de diálogo.
Quando o procedimento da caixa de diálogo chama a função EndDialog, DialogBoxIndirectParam destrói a caixa de diálogo, encerra o loop de mensagem, habilita a janela do proprietário (se habilitada anteriormente) e retorna o parâmetro nResult especificado pelo procedimento da caixa de diálogo quando chamado EndDialog.
Em um modelo de caixa de diálogo padrão, a estrutura de
Em um modelo de caixa de diálogo estendida, o cabeçalho
Todas as cadeias de caracteres no modelo da caixa de diálogo, como títulos para a caixa de diálogo e botões, devem ser cadeias de caracteres Unicode.
Nota
O cabeçalho winuser.h define DialogBoxIndirectParam como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winuser.h (inclua Windows.h) |
biblioteca | User32.lib |
de DLL |
User32.dll |
conjunto de API | ext-ms-win-ntuser-dialogbox-l1-1-0 (introduzido no Windows 8) |
Consulte também
Conceitual
dialogBoxIndirect
dialogBoxParam
de referência de