Compartilhar via


Função DialogBoxParamA (winuser.h)

Cria uma caixa de diálogo modal a partir de um recurso de modelo de caixa de diálogo. 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 DialogBoxParamA(
  [in, optional] HINSTANCE hInstance,
  [in]           LPCSTR    lpTemplateName,
  [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 contém o modelo da caixa de diálogo. Se esse parâmetro for NULL, o executável atual será usado.

[in] lpTemplateName

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.

[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 valor do parâmetro nResult especificado na chamada para a função EndDialog usada para encerrar a caixa de diálogo.

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

Nota

O cabeçalho winuser.h define DialogBoxParam 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-1 (introduzido no Windows 8.1)

Consulte também

Conceitual

CreateWindowEx

Caixas de diálogo

caixa de diálogo

dialogBoxIndirect

dialogBoxIndirectParam

DialogProc

enddialog

MAKEINTRESOURCE

de referência de

WM_INITDIALOG

WM_SETFONT