MessageBoxEx

La funzione MessageBoxEx crea, Visualizza e gestisce una finestra di messaggio. La finestra di messaggio contiene un messaggio definito dall'applicazione e titolo, oltre a qualsiasi combinazione di icone predefinite e pulsanti di comando. Il parametro wLanguageId specifica quale insieme di risorse di lingua viene utilizzato per i pulsanti predefiniti. Per una descrizione complete degli altri parametri di MessageBoxEx, vedere MessageBox.

int (MessageBoxEx HWND  hWnd, / / handle di finestra proprietariaLPCTSTRlpText, / / indirizzo del testo nella finestra di messaggioLPCTSTRlpCaption, / / indirizzo del titolo di una finestra di messaggioUINTuType, / / stili della finestra di messaggioWORDwLanguageId / / identificatore di lingua);
 

Parametri

hWnd
Identifica la finestra proprietaria della finestra di messaggio da creare. Se questo parametro è NULL, la finestra di messaggio non ha nessuna finestra proprietario.
lpCaption
Puntatore a una stringa con terminazione null contenente il messaggio da visualizzare.
lpszTitle
Puntatore a una stringa null-terminated utilizzata per il titolo della finestra di dialogo. Se questo parametro è NULL, viene utilizzato il titolo predefinito errore.
uType
Specifica un insieme di flag di bit che determinano il contenuto e il comportamento della finestra di dialogo. Questo parametro può essere una combinazione di flag dai seguenti gruppi di bandiere.

Specificare uno dei seguenti flag per indicare i pulsanti contenuti nella finestra del messaggio:
Bandiera Significato
MB_ABORTRETRYIGNORE La finestra di messaggio contiene tre pulsanti: Abort, riprova e ignorare.
MB_OK La finestra di messaggio contiene un pulsante: OK. Questa è l'impostazione predefinita.
MB_OKCANCEL La finestra di messaggio contiene due pulsanti: OK e Annulla.
MB_RETRYCANCEL La finestra di messaggio contiene due pulsanti: Riprova e Annulla.
MB_YESNO La finestra di messaggio contiene due pulsanti: Sì e No.
MB_YESNOCANCEL La finestra di messaggio contiene tre pulsanti: Sì, No e Annulla.

Specificare uno dei seguenti flag per visualizzare un'icona nella finestra del messaggio:
Bandiera Significato
MB_ICONEXCLAMATION,
MB_ICONWARNING
Un'icona del punto esclamativo viene visualizzata nella finestra del messaggio.
MB_ICONINFORMATION, MB_ICONASTERISK
Viene visualizzata un'icona che consiste di una lettera minuscola io in un cerchio nella finestra del messaggio.
MB_ICONQUESTION Verrà visualizzata un'icona di punto interrogativo nella finestra del messaggio.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
Un segnale di stop icona viene visualizzata nella finestra del messaggio.

Specificare uno dei seguenti flag per indicare il pulsante predefinito:
Bandiera Significato
MB_DEFBUTTON1 Il primo pulsante è il pulsante di default.

MB_DEFBUTTON1 è l'impostazione predefinita non viene specificato MB_DEFBUTTON2, MB_DEFBUTTON3 o MB_DEFBUTTON4.

MB_DEFBUTTON2 Il secondo pulsante è il pulsante di default.
MB_DEFBUTTON3 Il terzo pulsante è il pulsante di default.
MB_DEFBUTTON4 Il quarto pulsante è il pulsante di default.

Specificare uno dei seguenti flag per indicare la modalità nella finestra di dialogo:
Bandiera Significato
MB_APPLMODAL L'utente deve rispondere nella finestra di messaggio prima di continuare il lavoro nella finestra identificata dal parametro hWnd . Tuttavia, l'utente può spostare le finestre di altri thread e lavorare in tali finestre.

A seconda della gerarchia delle finestre dell'applicazione, l'utente potrebbe essere in grado di spostare in altre finestre all'interno del thread. Tutte le finestre figlio del padre di una finestra di messaggio vengono disattivate automaticamente, ma non sono finestre popup.

MB_APPLMODAL è il valore predefinito se viene specificata né MB_SYSTEMMODAL né MB_TASKMODAL.

MB_SYSTEMMODAL Lo stesso come MB_APPLMODAL, salvo che la finestra di messaggio ha lo stile WS_EX_TOPMOST. Utilizzare le finestre di messaggio di sistema modale per notificare all'utente di serio, potenzialmente dannosi errori che richiedono attenzione immediata (ad esempio, a corto di memoria). Questo flag non ha alcun effetto sulla capacità dell'utente di interagire con windows diversi da quelli associati con hWnd.
MB_TASKMODAL Lo stesso come MB_APPLMODAL, eccetto che tutte le finestre di primo livello appartenendo a thread corrente vengono disabilitate se il parametro hWnd è NULL. Utilizzare questo flag quando l'applicazione chiamante o la raccolta non ha un handle di finestra disponibile ma deve ancora impedire input per altre finestre nel thread chiamante senza sospendere altri thread.

Inoltre, è possibile specificare i seguenti flag:

MB_DEFAULT_DESKTOP_ONLY
Desktop attualmente riceve input deve essere un desktop predefinito; in caso contrario, la funzione ha esito negativo. Un desktop predefinito è uno un'applicazione viene eseguita su dopo che l'utente ha eseguito l'accesso.
MB_HELP
Aggiunge un pulsante nella finestra di messaggio. Scegliendo il pulsante Help o premendo F1 genera un evento di aiuto.
MB_RIGHT
Il testo è allineato a destra.
MB_RTLREADING
Visualizza il messaggio e la didascalia testo utilizzando l'ordine di lettura da destra a sinistra su sistemi ebraico ed arabo.
MB_SETFOREGROUND
La finestra di messaggio diventa la finestra in primo piano. Internamente, il sistema chiama la funzione di SetForegroundWindow per la finestra di messaggio.
MB_TOPMOST
La finestra di messaggio viene creata con lo stile della finestra WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: Il chiamante è un servizio di notifica all'utente di un evento. La funzione visualizza una finestra di messaggio sull'active desktop corrente, anche se nessun utente è connesso al computer.

Se questo flag è impostato, il parametro hWnd deve essere NULL. Questa è quindi la finestra di messaggio può essere visualizzato su un desktop tranne il desktop corrispondente hWnd.

Per Windows NT versione 4.0, è cambiato il valore di MB_SERVICE_NOTIFICATION. Vedere WINUSER.H per i vecchi e nuovi valori. Windows NT 4.0 fornisce compatibilità con le versioni precedenti per i servizi di pre-esistenti mappando il vecchio valore sul nuovo valore nell'attuazione del MessageBox e MessageBoxEx. Questo mapping è fatto solo per i file eseguibili che hanno un numero di versione, come stabilito dal linker, inferiore a 4.0.

Creare un servizio che utilizza MB_SERVICE_NOTIFICATION e può essere eseguito su Windows NT 4.0 e Windows NT 3. x, si hanno due scelte.
  1. In fase di collegamento, specificare un numero di versione inferiore a 4.0; o
nbsp;   2. In fase di collegamento, specificare la versione 4.0. In fase di esecuzione, utilizzare la funzione GetVersionEx per controllare la versione del sistema. Quando in esecuzione su Windows &NT 3. x, utilizzare MB_SERVICE_NOTIFICATION_NT3X; e su Windows NT 4.0, utilizzare MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Questo valore corrisponde al valore definito per la MB_SERVICE_NOTIFICATION per Windows NT versione 3.51.
wLanguageId
Specifica la lingua in cui visualizzare il testo contenuto nei pulsanti predefiniti. Questo valore deve essere in forma restituita dalla MAKELANGID macro.

Per un elenco degli identificatori linguaggio supportato da Win32, vedere Gli identificatori di lingua. Nota che ogni localizzate il rilascio di Windows e Windows NT in genere contiene risorse solo per un limitato set di lingue. Così, ad esempio, la versione USA offre LANG_ITALIAN, la versione francese offre LANG_FRENCH, la versione tedesca offre LANG_GERMAN e la versione giapponese offre LANG_JAPANESE. Ogni versione offre LANG_NEUTRAL. Ciò limita l'insieme di valori che può essere utilizzato con il parametro wLanguageId . Prima di specificare un identificatore di lingua, si dovrebbero enumera i locali che sono installati su un sistema.

Valori restituiti

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero voce di menu restituito dalla finestra di dialogo.

Valore Significato
IDABORT È stato selezionato il pulsante di interruzione.
IDCANCEL È stato selezionato il pulsante Annulla.
IDIGNORE Ignorare è stato selezionato il pulsante.
IDNO È stato selezionato alcun tasto.
IDOK È stato selezionato il pulsante OK.
IDRETRY È stato selezionato il pulsante Riprova.
IDYES Sì è stato selezionato il pulsante.

Se una finestra di messaggio ha un pulsante Annulla, la funzione restituisce il valore IDCANCEL quando viene premuto il tasto esc o un pulsante Annulla. Se la finestra di messaggio non ha nessun pulsante Annulla, premendo il tasto esc non ha alcun effetto.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni di errore estese, chiamare GetLastError.

Osservazioni

Quando si crea una finestra di messaggio di sistema modale per indicare che il sistema ha poca memoria, le stringhe passate come i parametri lpText e lpCaption non devono essere preso da un file di risorse, perché un tentativo di caricare la risorsa potrebbe non riuscire.

Quando un'applicazione chiama la funzione MessageBoxEx e specifica i flag MB_ICONHAND e MB_SYSTEMMODAL per il parametro uType , API Win32 viene visualizzata la finestra di messaggio risultante indipendentemente dalla memoria disponibile. Quando si specificano di questi flag, il sistema limita la lunghezza del testo su una sola riga finestra di messaggio.

Se si crea una finestra di messaggio, mentre una finestra di dialogo è presente, utilizzare l'handle della finestra di dialogo come parametro hWnd . Il parametro hWnd non dovrebbe identificare una finestra figlio, ad esempio una casella di dialogo.

Windows 95:Il sistema può supportare un massimo di 16.364 handle della finestra.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI in Windows e Windows NT.

Vedi anche

Panoramica di finestre di dialogo, funzioni di Dialog Box, MAKELANGID, MessageBeepMessageBox , MessageBoxIndirect, SetForegroundWindow

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index