MessageBox

De MessageBox -functie maakt, wordt weergegeven en werkt een berichtvenster. Het berichtvenster bevat een toepassing gedefinieerd bericht weergegeven en titel, plus elke combinatie van vooraf gedefinieerde pictogrammen en drukknoppen.

int MessageBox) HWND  hWnd, / / verwerken van eigenaar vensterLPCTSTRlpText, / / adres van tekst in tekstvakLPCTSTRlpCaption, / / adres van de titel van het berichtvensterUINTuType / / style van berichtvenster);
 

Parameters

hWnd
Identificeert de eigenaar venster in het berichtvenster om te worden gemaakt. Als deze parameter NULL is, heeft het berichtvenster geen eigenaar-venster.
lpText
Pointer naar een op null eindigende tekenreeks met het bericht moet worden weergegeven.
lpCaption
Aanwijzer naar een op null eindigende tekenreeks gebruikt voor de titel van het dialoogvenster. Als deze parameter NULL is, wordt de standaardtitel fout gebruikt.
uType
Hiermee geeft u een set van bits vlaggen die bepalen wat de inhoud en het gedrag van het dialoogvenster. Deze parameter kan bestaan uit een combinatie van vlaggen uit de volgende groepen van vlaggen.

Een van de volgende vlaggen om aan te geven de knoppen opgenomen in het berichtvak opgeven:
Vlag Betekenis
MB_ABORTRETRYIGNORE Het berichtvenster bevat drie drukknoppen: Abort, Retry, en negeren.
MB_OK Het berichtvenster bevat een drukknop: OK. Dit is de standaardinstelling.
MB_OKCANCEL Het berichtvenster bevat twee drukknoppen: OK en annuleren.
MB_RETRYCANCEL Het berichtvenster bevat twee drukknoppen: opnieuw en annuleren.
MB_YESNO Het berichtvenster bevat twee drukknoppen: Ja en Nee.
MB_YESNOCANCEL Het berichtvenster bevat drie drukknoppen: Ja, Nee en annuleren.

Een van de volgende vlaggen een pictogram wordt weergegeven in het berichtvak opgeven:
Vlag Betekenis
MB_ICONEXCLAMATION,
MB_ICONWARNING
Een uitroepteken pictogram weergegeven in het berichtvak.
MB_ICONINFORMATION, MB_ICONASTERISK
Een pictogram dat bestaat uit een kleine letter ik in een cirkel wordt weergegeven in het berichtvak.
MB_ICONQUESTION Een vraagteken pictogram weergegeven in het berichtvak.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
Een stopbord pictogram weergegeven in het berichtvak.

Een van de volgende vlaggen om aan te geven de standaardknop opgeven:
Vlag Betekenis
MB_DEFBUTTON1 De eerste knop is de standaardknop.

MB_DEFBUTTON1 is de standaardinstelling tenzij MB_DEFBUTTON2, MB_DEFBUTTON3 of MB_DEFBUTTON4 is opgegeven.

MB_DEFBUTTON2 De tweede knop is de standaardknop.
MB_DEFBUTTON3 De derde knop is de standaardknop.
MB_DEFBUTTON4 De vierde knop is de standaardknop.

Een van de volgende vlaggen om aan te geven van de modaliteit van het dialoogvenster opgeven:
Vlag Betekenis
MB_APPLMODAL De gebruiker moet reageren op het berichtvenster voordat u verdergaat werk in het venster hWnd de parameter. Echter, de gebruiker kan overschakelen naar het venster van andere threads en werken in die Vensters.

Afhankelijk van de hiërarchie van Vensters in de toepassing, de gebruiker mogelijk om te verplaatsen naar een ander venster binnen de discussielijn. Alle onderliggende vensters van het bovenliggende object van het berichtvenster worden automatisch uitgeschakeld, maar pop-upvensters zijn niet.

MB_APPLMODAL is de standaard als MB_SYSTEMMODAL noch MB_TASKMODAL is opgegeven.

MB_SYSTEMMODAL Hetzelfde als MB_APPLMODAL, behalve dat het berichtvenster de WS_EX_TOPMOST stijl heeft. Systeem-modal berichtvensters gebruiken om de gebruiker van ernstige, potentieel schadelijke fouten die onmiddellijke aandacht (bijvoorbeeld, bijna geen geheugen) vereisen te informeren. Deze vlag heeft geen invloed op de mogelijkheden van gebruikers om te interageren met andere dan die welke verband houden met hWnd windows.
MB_TASKMODAL Hetzelfde als MB_APPLMODAL behalve dat alle op het hoogste niveau Vensters die behoren tot de huidige thread zijn uitgeschakeld als de hWnd parameter NULL is. Deze vlag gebruiken wanneer de aanroepende toepassing of bibliotheek beschikt niet over een vensteringang beschikbaar maar nog nodig heeft om te voorkomen ingang naar een ander venster in de aanroepende draad zonder opschorting van andere threads.

Daarnaast kunt u de volgende vlaggen:

MB_DEFAULT_DESKTOP_ONLY
Het bureaublad ontvangt momenteel input moet een standaard desktop; anders mislukt de bewerking. Een standaard desktop is een een applicatie draait op nadat de gebruiker zich heeft aangemeld.
MB_HELP
Een helpknop toegevoegd aan het berichtvenster. De Help-knop te klikken of op F1 drukt genereert een gebeurtenis Help.
MB_RIGHT
De tekst is rechts uitgevulde.
MB_RTLREADING
Bericht en bijschrift tekst met behulp van rechts-naar-links-leesvolgorde op Hebreeuwse en Arabische systemen wordt weergegeven.
MB_SETFOREGROUND
Het berichtvenster wordt het voorgrondvenster. Intern, aanroept het systeem de SetForegroundWindow functie voor het berichtvenster.
MB_TOPMOST
Het berichtvenster wordt gemaakt met de stijl venster WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: De beller is een dienst waarin de gebruiker een gebeurtenis. De functie wordt een bericht weergegeven op de huidige active desktop, zelfs als er geen gebruiker aangemeld bij de computer is.

Als deze vlag is ingesteld, moet de parameter hWnd NULL. Dit is dus het berichtvenster kan worden weergegeven op een bureaublad andere dan het bureaublad dat overeenkomt met de hWnd.

Voor Windows NT versie 4.0, is de waarde van MB_SERVICE_NOTIFICATION veranderd. Zie WINUSER.H voor de oude en nieuwe waarden. Windows NT 4.0 biedt achterwaartse compatibiliteit voor reeds bestaande diensten door de oude waarde toewijzen aan de nieuwe waarde in de uitvoering van MessageBox en MessageBoxEx. Deze toewijzing gebeurt slechts voor uitvoerbare bestanden die een versienummer, die wordt ingesteld door de linker, minder dan 4.0 hebben.

Om te bouwen van een service die MB_SERVICE_NOTIFICATION gebruikt, en kan draaien op zowel Windows NT 3.x en Windows NT 4.0, heb je twee keuzes.
  1. Geef bij link-tijd, een versienummer minder dan 4.0; of
nbsp;   2. Link-tijd, geef versie 4.0. Tijdens runtime, gebruikt u de functie GetVersionEx om te controleren de systeemversie. Toen draait op Windows &NT 3.x, gebruik MB_SERVICE_NOTIFICATION_NT3X; en op Windows NT 4.0, gebruik MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Deze waarde komt overeen met de waarde voor MB_SERVICE_NOTIFICATION voor Windows NT versie 3.51 gedefinieerd.

Retourwaarden

De retourwaarde is nul als er niet genoeg geheugen om te maken het berichtvenster.

Als de functie slaagt, is de retourwaarde een van de volgende menu-item waarden geretourneerd door het dialoogvenster:

Waarde Betekenis
IDABORT Knop afbreken werd geselecteerd.
IDCANCEL Knop Annuleren werd geselecteerd.
IDIGNORE Negeren knop werd geselecteerd.
IDNO Geen knop werd geselecteerd.
IDOK Knop OK werd geselecteerd.
IDRETRY Probeer knoop opnieuw werd geselecteerd.
IDYES Ja werd knop geselecteerd.

Als een berichtvenster een knop Annuleren heeft, retourneert de functie de waarde IDCANCEL als de esc-toets of de knop Annuleren is geselecteerd. Als het berichtvak geen knop Annuleren heeft, heeft dringende esc geen effect.

Opmerkingen

Wanneer u een systeem-modaal berichtvenster gebruikt om aan te geven dat het systeem onvoldoende geheugen beschikbaar is, de tekenreeksen waarnaar door de lpText en lpCaption parameters moeten niet worden genomen uit een resourcegroepbestand, omdat een poging om te laden de resource kan mislukken.

Wanneer een toepassing MessageBox roept en de vlaggen van de MB_ICONHAND en MB_SYSTEMMODAL voor de parameter uType geeft , wordt de resulterende berichtvenster ongeacht beschikbaar geheugen in het systeem weergegeven. Wanneer deze vlaggen worden opgegeven, beperkt het systeem de lengte van de tekst van het bericht vak op drie regels. Het systeem heeft niet de regels te passen in het berichtvak echter automatisch afgebroken zodat de tekenreeks bericht regelteruglooptekens te breken van de regels op de daartoe geschikte plaatsen moet bevatten.

Als u een berichtvenster maakt terwijl een dialoogvenster aanwezig is, gebruik de hendel van het dialoogvenster als de parameter hWnd . De parameter hWnd moet niet het identificeren van een onderliggend venster, zoals een besturingselement in een dialoogvenster.

Windows 95:Het systeem kan een maximum van 16,364 venster grepen ondersteunen.

Windows CE: Windows CE biedt geen ondersteuning voor de volgende stijlen voor de parameter uType

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

De volgende keren waarden worden niet ondersteund:

IDCLOSE

IDHELP

Syntaxisinfo

nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 1.0 of hoger vereist.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.
Unicode:Geïmplementeerd als Unicode en ANSI-versies van Windows en Windows NT.

Zie ook

Overzicht van dialoogvenster vakken, dialoogvenster vak functies, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

Index