Macro DialogBoxIndirectA (winuser.h)
Crea una finestra di dialogo modale da un modello di finestra di dialogo in memoria.
Sintassi
void DialogBoxIndirectA(
[in, optional] hInstance,
[in] lpTemplate,
[in, optional] hWndParent,
[in, optional] lpDialogFunc
);
Parametri
[in, optional] hInstance
Tipo: HINSTANCE
Handle per il modulo che crea la finestra di dialogo.
[in] lpTemplate
Tipo: LPCDLGTEMPLATE
Modello utilizzato DialogBoxIndirect per creare la finestra di dialogo. Un modello di finestra di dialogo è costituito da un'intestazione che descrive la finestra di dialogo, seguita da uno o più blocchi di dati aggiuntivi che descrivono ognuno dei controlli nella finestra di dialogo. Il modello può usare il formato standard o il formato esteso.
In un modello standard per una finestra di dialogo, l'intestazione è una struttura DLGTEMPLATE seguita da matrici a lunghezza variabile aggiuntive. I dati per ogni controllo sono costituiti da una struttura DLGITEMTEMPLATE
In un modello esteso per una finestra di dialogo, l'intestazione usa il formato DLGTEMPLATEEX
[in, optional] hWndParent
Tipo: HWND
Handle per la finestra proprietaria della finestra di dialogo.
[in, optional] lpDialogFunc
Tipo: DLGPROC
Puntatore alla routine della finestra di dialogo. Per altre informazioni sulla procedura della finestra di dialogo, vedere DialogProc.
Valore restituito
Nessuno
Osservazioni
La macro
Quando la routine della finestra di dialogo chiama la funzione
In un modello di finestra di dialogo standard, la struttura
In un modello di finestra di dialogo estesa, l'intestazione DLGTEMPLATEEX
Tutte le stringhe di caratteri nel modello della finestra di dialogo, ad esempio i titoli per la finestra di dialogo e i pulsanti, devono essere stringhe Unicode. Usare la funzione multiByteToWideChar
Esempi
Per un esempio, vedere Creazione di un modello in memoria.
Nota
L'intestazione winuser.h definisce DialogBoxIndirect come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winuser.h (include Windows.h) |
libreria |
User32.lib |
dll | User32.dll |
Vedere anche
concettuale
DLGITEMTEMPLATEEX
altre risorse
riferimento