Compartilhar via


Macro CreateDialogW (winuser.h)

Cria uma caixa de diálogo modeless a partir de um recurso de modelo de caixa de diálogo. A macro CreateDialog usa a função CreateDialogParam .

Sintaxe

void CreateDialogW(
  [in, optional]  hInstance,
  [in]            lpName,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

Parâmetros

[in, optional] hInstance

Tipo: HINSTANCE

Um identificador para o módulo que contém o modelo da caixa de diálogo. Se esse parâmetro for NULL, o executável atual será usado.

[in] lpName

Tipo: LPCTSTR

O modelo da caixa de diálogo. Esse parâmetro é o ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do modelo da caixa de diálogo ou um valor inteiro que especifica o identificador de recurso do modelo da caixa de diálogo. Se o parâmetro especificar um identificador de recurso, sua palavra de alta ordem deverá ser zero e sua palavra de ordem baixa deverá conter o identificador. Você pode usar a macro MAKEINTRESOURCE para criar esse valor.

[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 função CreateDialog usa a função CreateWindowEx para criar a caixa de diálogo. CreateDialog envia uma mensagem de WM_INITDIALOG (e uma mensagem de WM_SETFONT se o modelo especificar o estilo DS_SETFONT ou DS_SHELLFONT) 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, CreateDialog retorna o identificador de janela para a caixa de diálogo.

Depois que CreateDialog retorna, o aplicativo exibe a caixa de diálogo (se ainda não estiver exibida) usando a função ShowWindow . O aplicativo destrói a caixa de diálogo usando 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.

Exemplos

Para obter um exemplo, consulte Criando uma caixa de diálogo Modeless.

Nota

O cabeçalho winuser.h define CreateDialog 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

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

CreateWindowEx

DestroyWindow

Caixas de diálogo

caixa de diálogo

DialogProc

isDialogMessage

de referência de

ShowWindow

WM_INITDIALOG

WM_SETFONT