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);
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:
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.
|
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. |
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.
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.
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.
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.
Panoramica di finestre di dialogo, funzioni di Dialog Box, MAKELANGID, MessageBeepMessageBox , MessageBoxIndirect, SetForegroundWindow
Rimedio: Inserire il CD-ROM CD di MSDN Library.