La funzione MessageBox 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.
int MessageBox ( 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 messaggio);
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. |
Il valore restituito è pari a zero, se non vi è memoria sufficiente per creare la finestra di messaggio.
Se la funzione ha esito positivo, il valore restituito è una delle voci di menu seguenti valori restituiti 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 se viene premuto il tasto esc o se viene selezionato il pulsante Annulla. Produce alcun effetto se la finestra di messaggio non ha nessun pulsante Annulla, premendo esc.
Quando si utilizza una finestra di messaggio di sistema modale per indicare che il sistema ha poca memoria, le stringhe a cui punta il lpText e lpCaption i parametri non devono essere preso da un file di risorse, perché un tentativo di caricare la risorsa potrebbe non riuscire.
Quando un'applicazione chiama MessageBox e specifica i flag MB_ICONHAND e MB_SYSTEMMODAL per il parametro uType , il sistema visualizza la finestra di messaggio risultante indipendentemente dalla memoria disponibile. Quando questi flag vengono specificati, il sistema limita la lunghezza del testo casella messaggio su tre righe. Il sistema non non automaticamente spezzare le linee da stare in una finestra di messaggio, tuttavia, quindi la stringa del messaggio deve contenere ritorni a rompere le righe nei luoghi appropriati.
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 un controllo in una finestra di dialogo.
Windows 95:Il sistema può supportare un massimo di 16.364 handle della finestra.
Windows CE: Windows CE non supporta i seguenti stili per il parametro uType
MB_SYSTEMMODAL
MB_TASKMODAL
MB_HELP
MB_RIGHT
MB_RTLREADING
MB_DEFAULT_DESKTOP_ONLY
MB_SERVICE_NOTIFICATION
MB_USERICON.
Restituiti i seguenti valori non sono supportati:
IDCLOSE
IDHELP
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
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, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow
Rimedio: Inserire il CD-ROM CD di MSDN Library.