Condividi tramite


Macro DialogBoxW (winuser.h)

Crea una finestra di dialogo modale da una risorsa modello di finestra di dialogo. DialogBox non restituisce il controllo finché la funzione di callback specificata termina la finestra di dialogo modale chiamando la funzione EndDialog.

DialogBox viene implementato come chiamata alla funzione DialogBoxParam .

Sintassi

void DialogBoxW(
  [in, optional]  hInstance,
  [in]            lpTemplate,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

Parametri

[in, optional] hInstance

Tipo: HINSTANCE

Handle per il modulo che contiene il modello di finestra di dialogo. Se questo parametro è NULL, viene usato il file eseguibile corrente.

[in] lpTemplate

Tipo: LPCTSTR

Modello della finestra di dialogo. Questo parametro è il puntatore a una stringa di caratteri con terminazione Null che specifica il nome del modello di finestra di dialogo o un valore intero che specifica l'identificatore della risorsa del modello di finestra di dialogo. Se il parametro specifica un identificatore di risorsa, la parola dell'ordine elevato deve essere zero e la parola con ordine minimo deve contenere l'identificatore. È possibile utilizzare la macro MAKEINTRESOURCE per creare questo valore.

[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 DialogBox usa la funzione CreateWindowEx per creare la finestra di dialogo. DialogBox quindi invia un messaggio di WM_INITDIALOG (e un messaggio WM_SETFONT se il modello specifica lo stile DS_SETFONT o DS_SHELLFONT) alla routine della finestra di dialogo. La funzione visualizza la finestra di dialogo (indipendentemente dal fatto che il modello specifichi lo stile di WS_VISIBLE), disabilita la finestra proprietario e avvia il proprio ciclo di messaggi per recuperare e inviare messaggi per la finestra di dialogo.

Quando la routine della finestra di dialogo chiama la funzione EndDialog, DialogBox elimina definitivamente la finestra di dialogo, termina il ciclo di messaggi, abilita la finestra del proprietario (se abilitata in precedenza) e restituisce il parametro nResult specificato dalla routine della finestra di dialogo quando viene chiamato EndDialog.

Esempi

Per un esempio, vedere Creazione di una finestra di dialogo modale.

Nota

L'intestazione winuser.h definisce DialogBox 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

CreateDialog

CreateWindowEx

finestre di dialogo

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog

MAKEINTRESOURCE

riferimento

WM_INITDIALOG

WM_SETFONT