MessageBox

Funcția MessageBox creează afișează ?i operează o casetă de mesaj. Caseta de mesaj conține un mesaj cerere-definite și titlul, plus orice combinație de predefinite pictogramele și butoanele.

int MessageBox ( HWND  hWnd, / / ocupa de proprietar fereastraLPCTSTRlpText, / / adresa de text în caseta mesajLPCTSTRlpCaption, / / adresa de titlu a casetei de mesajUINTuType / / stil din caseta mesaj);
 

Parametrii

hWnd
Identifică fereastra proprietarul a casetei de mesaj pentru a fi creat. Dacă acest parametru este NULL, caseta de mesaj a nu fereastra proprietar.
lpText
Indicatorul la un șir null-terminated care conține mesajul să fie afișate.
lpCaption
Indicatorul la un șir null-terminated utilizate pentru titlul de caseta de dialog. Dacă acest parametru este NULL, titlul implicit este utilizat eroare.
uType
Specifică un set de steaguri de biți care determină conținutul și comportament a casetei de dialog. Acest parametru poate fi o combinație de steaguri din următoarele grupe de steaguri.

Specificați una dintre următoarele semnalizări pentru a indica butoanele con?inute în caseta de mesaj:
Drapelul Sensul
MB_ABORTRETRYIGNORE Caseta de mesaj conține trei împinge butoane: abandona, Reîncercare, și ignora.
MB_OK Caseta de mesaj conține o push button: OK. Aceasta este implicit.
MB_OKCANCEL Caseta de mesaj conține două împinge butoane: OK și Cancel.
MB_RETRYCANCEL Caseta de mesaj conține două împinge butoane: Reîncercare și anula.
MB_YESNO Caseta de mesaj conține două împinge butoane: da și nu.
MB_YESNOCANCEL Caseta de mesaj conține trei împinge butoane: da, nu, și anula.

Specificați una dintre următoarele semnalizări pentru a afișa o pictogramă în caseta de mesaj:
Drapelul Sensul
MB_ICONEXCLAMATION,
MB_ICONWARNING
Pictogramă exclamare apare în caseta de mesaj.
MB_ICONINFORMATION, MB_ICONASTERISK
Pictogramă constând dintr-o scrisoare de litere mici am într-un cerc apare în caseta de mesaj.
MB_ICONQUESTION Apare o pictogramă semn de întrebare în caseta de mesaj.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
O pictogramă de stop-semn apare în caseta de mesaj.

Specificați una dintre următoarele semnalizări pentru a indica butonul implicit:
Drapelul Sensul
MB_DEFBUTTON1 Primul buton este butonul implicit.

MB_DEFBUTTON1 este implicit dacă nu este specificat MB_DEFBUTTON2, MB_DEFBUTTON3 sau MB_DEFBUTTON4.

MB_DEFBUTTON2 Al doilea buton este butonul implicit.
MB_DEFBUTTON3 Al treilea buton este butonul implicit.
MB_DEFBUTTON4 Butonul patra este butonul implicit.

Specificați una dintre următoarele semnalizări pentru a indica modalitatea de caseta de dialog:
Drapelul Sensul
MB_APPLMODAL Utilizatorul trebuie să răspundă la caseta de mesaj înainte de a continua munca în fereastra identificate de parametrul hWnd . Cu toate acestea, utilizatorul poate muta Ferestre de alte fire și lucrează în aceste ferestre.

În funcție de ierarhia de windows în cerere, utilizatorul să poată să se mute la alte ferestre în firul. Toate copil windows-mamă a casetei de mesaj sunt dezactivate automat, dar nu sunt ferestre pop-up.

MB_APPLMODAL este implicit dacă nu este specificat nici MB_SYSTEMMODAL, nici MB_TASKMODAL.

MB_SYSTEMMODAL Acela?i ca MB_APPLMODAL, cu excepția faptului că caseta de mesaj are stilul WS_EX_TOPMOST. Utilizați casetele de mesaj sistem-modal să notifice utilizatorului de grave, potențial dăunătoare erori care necesită atenție imediată (de exemplu, execută din memorie). Acest steag has nu efect pe utilizatorului capacitatea de a interacționa cu windows altele decât cele asociate cu hWnd.
MB_TASKMODAL Acela?i ca MB_APPLMODAL, cu excepția faptului că toate ferestrele nivel superior apar?inând firul de execu?ie curent sunt dezactivate dacă parametrul hWnd este NULL. Utilizați acest flag atunci când cererea de asteptare sau biblioteca nu are un mâner fereastra disponibil, dar încă mai are nevoie pentru a preveni intrare la alte ferestre în firul de asteptare fără suspendarea alte fire.

În plus, aveți posibilitatea să specificați următoarele steagurile:

MB_DEFAULT_DESKTOP_ONLY
Spațiul de lucru care beneficiază în prezent de intrare trebuie să fie un desktop implicit; altfel, funcția nu reușește. Un desktop implicit este o aplicație rulează pe după ce utilizatorul a făcut Log on.
MB_HELP
Adaugă un buton ajutor la caseta de mesaj. Selectând butonul ajutor sau apăsarea tastei F1 generează un eveniment de ajutor.
MB_RIGHT
Textul este aliniat la dreapta.
MB_RTLREADING
Afișează text mesaj și legenda utilizând ordinea de citire de la stânga la dreapta pe sisteme de ebraică și arabă.
MB_SETFOREGROUND
Caseta de mesaj devine fereastra plan frontal. Pe plan intern, sistemul apelează funcția SetForegroundWindow pentru caseta de mesaj.
MB_TOPMOST
Caseta de mesaj este creată cu stilul de fereastra WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: Apelantul este un serviciu de notificare utilizatorul de un eveniment. Funcția afișează o casetă de mesaj pe desktop active curente, chiar dacă nu există nici un utilizator conectat la computer.

Dacă acest flag este setat, parametrul hWnd trebuie să fie NULĂ. Acest lucru este astfel încât caseta de mesaj poate apărea pe un desktop altele decât desktop corespunde hWnd.

Pentru Windows NT versiunea 4.0, valoarea MB_SERVICE_NOTIFICATION s-a schimbat. A se vedea WINUSER.H pentru valorile vechi și noi. Windows NT 4.0 furnizează desiș de pădure compatibility pentru pre-existente de servicii de mapping valoarea vechi la noua valoare în punerea în aplicare a MessageBox și MessageBoxEx. Această asociere se face numai pentru executabile, care au un număr de versiune, ca set de linker-ul, mai puțin 4.0.

Pentru a construi un serviciu care utilizează MB_SERVICE_NOTIFICATION, și poate rula pe Windows NT 4.0 și Windows NT 3.x, aveți două opțiuni.
  1. La link-ul-timp, specificați un număr de versiune mai mică 4.0; sau
nbsp;   2. La link-ul-timp, specificați versiunea 4.0. La run-time, funcția GetVersionEx pentru a verifica versiunea de sistem. Atunci când rulează pe Windows &NT 3.x, utilizarea MB_SERVICE_NOTIFICATION_NT3X; și în Windows NT 4.0, utilizați MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Această valoare corespunde cu valoarea definită pentru MB_SERVICE_NOTIFICATION pentru Windows NT versiunea 3.51.

Valorile întroarse

Valoarea returnată este zero dacă nu există suficientă memorie pentru a crea caseta de mesaj.

Dacă funcția reușește, valoarea returnată este unul dintre următoarele element de meniu valorile returnate de caseta de dialog:

Valoarea Sensul
IDABORT A fost selectat butonul de abandonare.
IDCANCEL A fost selectat butonul Revocare.
IDIGNORE Ignora butonul a fost selectat.
IDNO A fost selectat nici un buton.
IDOK A fost selectat butonul OK.
IDRETRY A fost selectat butonul Reîncercare.
IDYES Da a fost selectat butonul.

Dacă o casetă de mesaj are un buton de revocare, funcția întoarce valoarea IDCANCEL dacă se apasă tasta esc sau este selectat butonul Revocare. Dacă caseta de mesaj are nici un buton de revocare, apăsând pe esc nu are efect.

Observații

Când utilizați o casetă de mesaj sistem-modal pentru a indica faptul că sistemul este insuficientă, siruri de caractere a subliniat de lpText și lpCaption parametri nu ar trebui luate dintr-un fișier resursă, deoarece o încercare de a încărca resursa poate eșua.

Atunci când o aplicație necesită MessageBox și steagurile MB_ICONHAND ?i MB_SYSTEMMODAL pentru parametrul uType specifică, sistemul afișează caseta de mesaj care rezultă indiferent de memorie disponibilă. Atunci când aceste semnalizări sunt specificate, sistemul limitează lungimea textului caseta de mesaj a trei linii. Sistemul nu nu desparte automat linii pentru a se potrivi în caseta de mesaj, cu toate acestea, astfel încât șirul mesajul trebuie să con?ină transportul întoarce să rupă liniile locurile corespunzătoare.

Dacă creați o casetă de mesaj în timp ce există o casetă de dialog, utilizați ghidajul din caseta de dialog ca parametru hWnd . Parametrul hWnd nu ar trebui să identifice o fereastră de copil, cum ar fi un control într-o casetă de dialog.

Windows 95:Sistemul poate suporta un maxim de 16,364 fereastra mânere.

Windows CE: Windows CE nu acceptă următoarele stiluri pentru parametrul uType

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

Următoarele întoarce valori nu sunt acceptate:

IDCLOSE

IDHELP

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winuser.h.
Import Biblioteca:Utilizarea user32.lib.
Unicode:Pus în aplicare ca versiunile Unicode și ANSI pe Windows și Windows NT.

A se vedea, de asemenea

Prezentare generală a casete de dialog, Dialog caseta de funcții, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

Index