Compartilhar via


DialogBoxIndirectParam

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função cria um restrito caixa de diálogo de um modelo caixa diálogo na memória. Antes de exibir a caixa diálogo, a função passa um application-defined value para o procedimento caixa de diálogo como o lParam parâmetro da mensagem WM_INITDIALOG. Um aplicativo pode usar esse valor para inicializar controles caixa de diálogo.

Syntax

int DialogBoxIndirectParam( 
  HINSTANCE hInstance, 
  LPCDLGTEMPLATE hDialogTemplate, 
  HWND hWndParent, 
  DLGPROC lpDialogFunc, 
  LPARAM dwInitParam
); 

Parameters

  • hInstance
    [no] Identificador para o módulo que cria a caixa diálogo.
  • hDialogTemplate
    [no] Identificador para um objeto memória global contendo um modelo que DialogBoxIndirectParam usa para criar a caixa diálogo. Um modelo caixa diálogo consiste de um cabeçalho que descreve a caixa diálogo, seguida por um ou mais blocos adicionais de dados que descrevem cada um dos controles na caixa de diálogo. O modelo pode usar ambos o padrão formato ou o estendido formato.

    Em um padrão modelo para uma caixa diálogo, o cabeçalho é um DLGTEMPLATE estrutura seguida adicionais matrizes variable-length. Os dados para cada controle consiste de um DLGITEMTEMPLATE estrutura seguida adicionais matrizes variable-length.

  • hWndParent
    [no] Identificador para a janela proprietária caixa de diálogo.
  • lpDialogFunc
    [no] Ponteiro longo para o procedimento caixa de diálogo. Para obter mais informações sobre o procedimento caixa de diálogo, consulte DialogProc.
  • dwInitParam
    [no] Especifica o valor para transmitir para o caixa de diálogo in a lParam parâmetro da WM_INITDIALOG mensagem.

Return Value

O valor da nResult parâmetro especificado na chamar para o EndDialog função indica sucesso. – 1 Indica falha. Para informações de erro estendidas get, chamar GetLastError.

Remarks

O DialogBoxIndirectParam função usa o CreateWindowEx função para criar a caixa diálogo. DialogBoxIndirectParam Em seguida, envia uma WM_INITDIALOG mensagem para o procedimento caixa de diálogo. A função exibe a caixa diálogo (regardless of se o modelo especifica o estilo WS_VISIBLE), desativa a janela proprietária e inicia sua própria mensagem executar um loop para recuperar e distribuir mensagens de caixa de diálogo.

Quando o procedimento caixa de diálogo chama o EndDialog função, DialogBoxIndirectParam destrói a caixa diálogo termina o executar um loop mensagem, permite a janela proprietária (se anteriormente habilitado) e retorna o valor da nResult parâmetro especificado pelo procedimento caixa de diálogo quando ele chamado EndDialog.

Em um padrão modelo caixa diálogo, o DLGTEMPLATE estrutura e cada um do DLGITEMTEMPLATE Estruturas devem ser alinhadas no DWORD Os limites. A matriz dados de criação que segue um DLGITEMTEMPLATE estrutura também deve ser alinhada em um DWORD limite. Todos as outras matrizes de comprimento variável no modelo devem ser alinhados no Word Os limites.

Todas as seqüências caractere no modelo caixa de diálogo, such as títulos para a caixa diálogo e botões, devem ser seqüências de caracteres Unicode.

Se o usuário pressiona ALT+H enquanto a caixa diálogo tem o foco de entrada, o sistema envia uma mensagem WM_HELP para o procedimento diálogo. Um aplicativo deve responder a esta mensagem, exibindo a Ajuda contextual para caixa de diálogo.

Para outras restrições diálogo, consulte CreateDialogIndirectParam.

Requirements

Header winuser.h
Library Dlgmgr.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

CreateDialogIndirectParam
CreateWindowEx
DialogBox
DialogBoxIndirect
DialogBoxParam
DialogProc
EndDialog
WM_INITDIALOG
DLGITEMTEMPLATE
DLGTEMPLATE
Dialog Boxes Functions