MessageBoxEx

Funcția MessageBoxEx 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. Parametrul wLanguageId specifică setul de limba resurse este utilizat pentru butoanele predefinite. Pentru descrierile plin de alți parametri de MessageBoxEx, consultați MessageBox.

int () MessageBoxEx HWND  hWnd, / / ocupa de proprietar fereastraLPCTSTRlpText, / / adresa de text în caseta mesajLPCTSTRlpCaption, / / adresa de titlu a casetei de mesajUINTuType, / / stil din caseta mesajWORDwLanguageId / / identificatorul de limbă);
 

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.
lpCaption
Indicatorul la un șir null-terminated care conține mesajul să fie afișate.
lpszTitle
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.
wLanguageId
Specifică limba pentru a afișa textul din butoanele predefinite. Această valoare trebuie să fie de forma întors de MAKELANGID macrocomandă.

Pentru o listă cu identificatori limba acceptată de Win32, consultați Identificatorii de limbă. Rețineți că fiecare localizate lansarea Windows și Windows NT conține de obicei resurse numai pentru un set limitat de limbi. Astfel, de exemplu, versiunea americană oferă LANG_ENGLISH, versiunea în limba franceză oferă LANG_FRENCH, versiunea germană oferă LANG_GERMAN, ?i versiunea japoneză oferă LANG_JAPANESE. Fiecare versiune oferă LANG_NEUTRAL. Aceasta limitează setul de valori care pot fi utilizate cu parametrul wLanguageId . Înainte de specificând un identificator limbă, ar trebui să enumera locales care sunt instalate pe un sistem.

Valorile întroarse

Dacă funcția reușește, valoarea returnată este un element de meniu interior/exterior nenul valoarea returnată 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 atunci când este apăsat tasta esc sau butonul Revocare. Dacă caseta de mesaj are nici un buton de revocare, apăsând tasta esc nu are efect.

Dacă funcția nu reușește, valoarea returnată este zero. Pentru a obține extins informa?ii eroare, apel GetLastError.

Observații

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

Atunci când o cerere apelează funcția MessageBoxEx și steagurile MB_ICONHAND ?i MB_SYSTEMMODAL pentru parametrul uType specifică, Win32 API afișează caseta de mesaj care rezultă indiferent de memorie disponibilă. Când specificați aceste semnalizări, sistemul limitează lungimea textului caseta de mesaj de la o linie.

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 o casetă de dialog.

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

QuickInfo

nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Neacceptat.
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, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow

Index