Compartilhar via


DialogBoxIndirect

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função é definida como uma macro e cria um restrito caixa de diálogo de um modelo caixa diálogo na memória. O DialogBoxIndirect macro não retornar controle até que a função callback especificada termina de restrito caixa diálogo por chamado de EndDialog função.

Syntax

int DialogBoxIndirect( 
  HINSTANCE hInstance, 
  LPDLGTEMPLATE lpTemplate, 
  HWND hWndParent, 
  DLGPROC lpDialogFunc
); 

Parameters

  • hInstance
    [no] Identificador para o módulo que cria a caixa diálogo.
  • lpTemplate
    [no] Ponteiro longo para um objeto memória global contendo um modelo que DialogBoxIndirect 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.

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 DialogBoxIndirect macro usa o CreateWindowEx função para criar a caixa diálogo. DialogBoxIndirect 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, DialogBoxIndirect 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.

Windows Embedded CE não todos os estilos no suporte a DLGTEMPLATE estrutura. Essa estrutura consta o modelo identificado pelo lpTemplate parâmetro*.*

Requirements

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

See Also

Reference

CreateWindowEx
DialogBox
DialogBoxIndirectParam
DialogBoxParam
DialogProc
EndDialog
WM_INITDIALOG
DLGITEMTEMPLATE
DLGTEMPLATE
Dialog Boxes Functions