Compartilhar via


Função de retorno de chamada DLGPROC (winuser.h)

Função de retorno de chamada definida pelo aplicativo usada com as famílias de funções CreateDialog e DialogBox . Ele processa mensagens enviadas para uma caixa de diálogo modal ou modeless. O tipo DLGPROC define um ponteiro para essa função de retorno de chamada. DialogProc é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

DLGPROC Dlgproc;

INT_PTR Dlgproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

Parâmetros

unnamedParam1

Tipo: HWND

Um identificador para a caixa de diálogo. Esse parâmetro normalmente é chamado de hWnd.

unnamedParam2

Tipo: UINT

A mensagem. Esse parâmetro normalmente é chamado de uMsg.

unnamedParam3

Tipo: WPARAM

Informações adicionais específicas da mensagem. Esse parâmetro normalmente é chamado de wParam.

unnamedParam4

Tipo: LPARAM

Informações adicionais específicas da mensagem. Esse parâmetro normalmente é chamado de lParam.

Valor de retorno

Tipo: INT_PTR

Normalmente, o procedimento da caixa de diálogo deve retornar TRUE se tiver processado a mensagem e FALSE se não tiver. Se o procedimento da caixa de diálogo retornar FALSE, o gerenciador de diálogo executará a operação de caixa de diálogo padrão em resposta à mensagem.

Se o procedimento da caixa de diálogo processar uma mensagem que exija um valor retornado específico, o procedimento da caixa de diálogo deverá definir o valor retornado desejado chamando SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) imediatamente antes de retornar TRUE. Observe que você deve chamar SetWindowLong imediatamente antes de retornar TRUE; Fazer isso anteriormente pode fazer com que o valor DWL_MSGRESULT seja substituído por uma mensagem de caixa de diálogo aninhada.

As mensagens a seguir são exceções às regras gerais declaradas acima. Consulte a documentação da mensagem específica para obter detalhes sobre a semântica do valor retornado.

Observações

Observação

Os parâmetros são definidos no cabeçalho sem nomes: typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);. Portanto, o bloco de sintaxe os lista como unnamedParam1 - unnamedParam4. Você pode nomear esses parâmetros em seu aplicativo. No entanto, eles geralmente são nomeados conforme mostrado nas descrições de parâmetro.

Você deve usar o procedimento da caixa de diálogo somente se usar a classe de caixa de diálogo para a caixa de diálogo. Essa é a classe padrão e é usada quando nenhuma classe explícita é especificada no modelo da caixa de diálogo. Embora o procedimento da caixa de diálogo seja semelhante a um procedimento de janela, ele não deve chamar a função DefWindowProc para processar mensagens indesejadas. Mensagens indesejadas são processadas internamente pelo procedimento da janela da caixa de diálogo.

Requirements

Requirement Value
Cliente mínimo suportado Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header winuser.h (inclua Windows.h)

Consulte também

Conceitual

Caixas de diálogo

WM_INITDIALOG

Referência

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

Caixa de diálogo

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

SetFocus