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);
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:
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.
|
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. |
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.
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
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.
Overzicht van dialoogvenster vakken, dialoogvenster vak functies, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow