Macro CreateDialogIndirectA (winuser.h)
Cria uma caixa de diálogo modeless a partir de um modelo de caixa de diálogo na memória. A macro CreateDialogIndirect usa a função CreateDialogIndirectParam.
Sintaxe
void CreateDialogIndirectA(
[in, optional] hInstance,
[in] lpTemplate,
[in, optional] hWndParent,
[in, optional] lpDialogFunc
);
Parâmetros
[in, optional] hInstance
Tipo: HINSTANCE
Um identificador para o módulo que cria a caixa de diálogo.
[in] lpTemplate
Tipo: LPCDLGTEMPLATE
Um modelo que CreateDialogIndirect 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, o cabeçalho é uma estrutura de DLGTEMPLATE
Em um modelo de caixa de diálogo estendida, o cabeçalho usa o formato de DLGTEMPLATEEX
Depois que CreateDialogIndirect retorna, você pode liberar o modelo, que só é usado para iniciar a caixa de diálogo.
[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.
Valor de retorno
Nenhum
Observações
A macro CreateDialogIndirect usa a função CreateWindowEx para criar a caixa de diálogo. CreateDialogIndirect 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 exibirá a caixa de diálogo se o modelo especificar o estilo WS_VISIBLE. Por fim, CreateDialogIndirect retorna o identificador de janela para a caixa de diálogo.
Depois que CreateDialogIndirect retorna, você pode usar a função ShowWindow para exibir a caixa de diálogo (se ela ainda não estiver visível). Para destruir a caixa de diálogo, use a função DestroyWindow. Para dar suporte à navegação do teclado e a outra funcionalidade de caixa de diálogo, o loop de mensagem da caixa de diálogo deve chamar a função IsDialogMessage.
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. Use a função
Nota
O cabeçalho winuser.h define CreateDialogIndirect 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 |
Consulte também
Conceitual
outros recursos
de referência de
ShowWindow