Condividi tramite


Finestre di dialogo (finestre di dialogo)

Una finestra di dialogo è una finestra temporanea creata da un'applicazione per recuperare l'input utente. Un'applicazione usa in genere le finestre di dialogo per richiedere all'utente informazioni aggiuntive per le voci di menu. Una finestra di dialogo contiene in genere uno o più controlli (finestre figlio) con cui l'utente immette testo, sceglie opzioni o indirizza l'azione.

Windows offre anche finestre di dialogo predefinite che supportano voci di menu comuni, ad esempio Apri e Stampa. Le applicazioni che usano queste voci di menu devono usare le finestre di dialogo comuni per richiedere l'input dell'utente, indipendentemente dal tipo di applicazione.

Contenuto della sezione

Nome Descrizione
Informazioni sulle finestre di dialogo Illustra l'uso delle finestre di dialogo nell'interfaccia utente per le applicazioni.
Considerazioni sulla programmazione delle finestre di dialogo Questa panoramica illustra alcune considerazioni sulla programmazione relative alle finestre di dialogo.
Uso delle finestre di dialogo Si usano le finestre di dialogo per visualizzare informazioni e richiedere l'input dall'utente.
Informazioni di riferimento sulla finestra di dialogo Informazioni di riferimento sull'API
Libreria di finestre di dialogo comuni Illustra l'uso delle finestre di dialogo comuni nell'interfaccia utente per le applicazioni.

Funzioni della finestra di dialogo

Nome Descrizione
CreateDialog Crea una finestra di dialogo senza modalità da una risorsa modello della finestra di dialogo.
CreateDialogIndirect Crea una finestra di dialogo senza modalità da un modello di finestra di dialogo in memoria.
CreateDialogIndirectParam Crea una finestra di dialogo senza modalità da un modello di finestra di dialogo in memoria. Prima di visualizzare la finestra di dialogo, la funzione passa un valore definito dall'applicazione alla procedura della finestra di dialogo come parametro lParam del messaggio di WM_INITDIALOG . Un'applicazione può usare questo valore per inizializzare i controlli della finestra di dialogo.
CreateDialogParam Crea una finestra di dialogo senza modalità da una risorsa modello della finestra di dialogo. Prima di visualizzare la finestra di dialogo, la funzione passa un valore definito dall'applicazione alla procedura della finestra di dialogo come parametro lParam del messaggio di WM_INITDIALOG . Un'applicazione può usare questo valore per inizializzare i controlli della finestra di dialogo.
DefDlgProc Chiama la procedura della finestra di dialogo predefinita per fornire l'elaborazione predefinita per qualsiasi messaggio di finestra che una finestra di dialogo con una classe finestra privata non elabora.
DialogBox Crea una finestra di dialogo modale da una risorsa modello di finestra di dialogo. DialogBox non restituisce il controllo finché la funzione callback specificata termina la finestra di dialogo modale chiamando la funzione EndDialog .
DialogBoxIndirect Crea una finestra di dialogo modale da un modello di finestra di dialogo in memoria. DialogBoxIndirect non restituisce il controllo finché la funzione di callback specificata termina la finestra di dialogo modale chiamando la funzione EndDialog .
DialogBoxIndirectParam Crea una finestra di dialogo modale da un modello di finestra di dialogo in memoria. Prima di visualizzare la finestra di dialogo, la funzione passa un valore definito dall'applicazione alla procedura della finestra di dialogo come parametro lParam del messaggio di WM_INITDIALOG . Un'applicazione può usare questo valore per inizializzare i controlli della finestra di dialogo.
DialogBoxParam Crea una finestra di dialogo modale da una risorsa modello di finestra di dialogo. Prima di visualizzare la finestra di dialogo, la funzione passa un valore definito dall'applicazione alla procedura della finestra di dialogo come parametro lParam del messaggio di WM_INITDIALOG . Un'applicazione può usare questo valore per inizializzare i controlli della finestra di dialogo.
DialogProc Funzione di callback definita dall'applicazione usata con le famiglie CreateDialog e DialogBox delle funzioni. Elabora i messaggi inviati a una finestra di dialogo modale o senza modalità. Il tipo DLGPROC definisce un puntatore a questa funzione di callback. DialogProc è un segnaposto per il nome della funzione definita dall'applicazione.
EndDialog Elimina una finestra di dialogo modale, causando la fine dell'elaborazione da parte del sistema per la finestra di dialogo.
GetDialogBaseUnits Recupera le unità di base della finestra di dialogo del sistema, ovvero la larghezza media e l'altezza dei caratteri nel tipo di carattere di sistema. Per le finestre di dialogo che usano il tipo di carattere di sistema, è possibile usare questi valori per convertire tra le unità modello di dialogo, come specificato nei modelli di finestra di dialogo e i pixel. Per le finestre di dialogo che non usano il tipo di carattere di sistema, la conversione da unità modello di dialogo a pixel dipende dal tipo di carattere usato dalla finestra di dialogo.
GetDlgCtrlID Recupera l'identificatore del controllo specificato.
GetDlgItem Recupera un handle in un controllo nella finestra di dialogo specificata.
GetDlgItemInt Converte il testo di un controllo specificato in una finestra di dialogo in un valore intero.
GetDlgItemText Recupera il titolo o il testo associato a un controllo in una finestra di dialogo.
GetNextDlgGroupItem Recupera un handle al primo controllo in un gruppo di controlli che precede (o segue) il controllo specificato in una finestra di dialogo.
GetNextDlgTabItem Recupera un handle al primo controllo con lo stile WS_TABSTOP che precede (o segue) il controllo specificato.
IsDialogMessage Determina se un messaggio è destinato alla finestra di dialogo specificata e, se è, elabora il messaggio.
MapDialogRect Converte le unità della finestra di dialogo specificate in unità dello schermo (pixel). La funzione sostituisce le coordinate nella struttura RECT specificata con le coordinate convertite, che consente di usare la struttura per creare una finestra di dialogo o posizionare un controllo all'interno di una finestra di dialogo.
MessageBox Visualizza una finestra di dialogo modale contenente un'icona di sistema, un set di pulsanti e un breve messaggio specifico dell'applicazione, ad esempio informazioni sullo stato o sugli errori. La finestra di messaggio restituisce un valore integer che indica quale pulsante ha fatto clic sull'utente.
MessageBoxEx Crea, visualizza e opera una finestra di messaggio. La finestra di messaggio contiene un messaggio e un titolo definiti dall'applicazione, oltre a qualsiasi combinazione di icone predefinite e pulsanti push. I pulsanti si trovano nella lingua dell'interfaccia utente di sistema.
MessageBoxIndirect Crea, visualizza e opera una finestra di messaggio. La finestra di messaggio contiene testo e titolo definiti dall'applicazione, qualsiasi icona e qualsiasi combinazione di pulsanti push predefiniti.
SendDlgItemMessage Invia un messaggio al controllo specificato in una finestra di dialogo.
SetDlgItemInt Imposta il testo di un controllo in una finestra di dialogo sulla rappresentazione stringa di un valore intero specificato.
SetDlgItemText Imposta il titolo o il testo di un controllo in una finestra di dialogo.

Finestra di dialogo Messaggi

Nome Descrizione
DM_GETDEFID Recupera l'identificatore del controllo pulsante di selezione predefinito per una finestra di dialogo.
DM_REPOSITION Riposiziona una finestra di dialogo di primo livello in modo che si adatti all'interno dell'area desktop. Un'applicazione può inviare questo messaggio a una finestra di dialogo dopo il ridimensionamento per assicurarsi che l'intera finestra di dialogo rimanga visibile.
DM_SETDEFID Modifica l'identificatore del pulsante di selezione predefinito per una finestra di dialogo.

Notifiche della finestra di dialogo

Nome Descrizione
WM_CTLCOLORDLG Inviato a una finestra di dialogo prima che il sistema estraa la finestra di dialogo. Rispondendo a questo messaggio, la finestra di dialogo può impostare il testo e i colori di sfondo usando l'handle del contesto di dispositivo di visualizzazione specificato.
WM_ENTERIDLE Inviato alla finestra proprietario di una finestra di dialogo modale o di un menu che sta immettendo uno stato di inattività. Una finestra di dialogo modale o un menu entra in stato di inattività quando nessun messaggio è in attesa nella coda dopo l'elaborazione di uno o più messaggi precedenti.
WM_GETDLGCODE Inviato alla routine finestra associata a un controllo . Per impostazione predefinita, il sistema gestisce tutti gli input da tastiera per il controllo; il sistema interpreta alcuni tipi di input da tastiera come tasti di spostamento della finestra di dialogo. Per eseguire l'override di questo comportamento predefinito, il controllo può rispondere al messaggio WM_GETDLGCODE per indicare i tipi di input che desidera elaborare se stesso.
WM_INITDIALOG Inviato alla procedura della finestra di dialogo immediatamente prima della visualizzazione di una finestra di dialogo. Le procedure della finestra di dialogo usano in genere questo messaggio per inizializzare i controlli ed eseguire qualsiasi altra attività di inizializzazione che influisce sull'aspetto della finestra di dialogo.
WM_NEXTDLGCTL Inviata a una procedura della finestra di dialogo per impostare lo stato attivo della tastiera su un controllo diverso nella finestra di dialogo.

Strutture delle finestre di dialogo

Nome Descrizione
DLGITEMTEMPLATE Definisce le dimensioni e lo stile di un controllo in una finestra di dialogo. Una o più di queste strutture vengono combinate con una struttura DLGTEMPLATE per formare un modello standard per una finestra di dialogo.
DLGITEMTEMPLATEEX Descrive una finestra di dialogo estesa. Per una descrizione del formato di un modello di finestra di dialogo estesa, vedere DLGTEMPLATEEX.
DLGTEMPLATE Definisce le dimensioni e lo stile di una finestra di dialogo. Questa struttura, sempre la prima in un modello standard per una finestra di dialogo, specifica anche il numero di controlli nella finestra di dialogo e specifica quindi il numero di strutture DLGITEMTEMPLATE successive nel modello.
DLGTEMPLATEEX Un modello di finestra di dialogo esteso inizia con un'intestazione DLGTEMPLATEEX che descrive la finestra di dialogo e specifica il numero di controlli nella finestra di dialogo. Per ogni controllo in una finestra di dialogo, un modello di finestra di dialogo esteso include un blocco di dati che utilizza il formato DLGITEMTEMPLATEEX per descrivere il controllo.
MSGBOXPARAMS Contiene informazioni utilizzate per visualizzare una finestra di messaggio. La funzione MessageBoxIndirect usa questa struttura.