MessageBoxEx

De functie MessageBoxEx wordt gemaakt, 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. De parameter wLanguageId geeft u op welke groep resources taal wordt gebruikt voor de vooraf gedefinieerde drukknoppen. Zie voor een volledige beschrijving van de andere parameters van MessageBoxEx MessageBox.

int () MessageBoxEx HWND  hWnd, / / verwerken van eigenaar vensterLPCTSTRlpText, / / adres van tekst in tekstvakLPCTSTRlpCaption, / / adres van de titel van het berichtvensterUINTuType, / / style van berichtvensterWORDwLanguageId / / taal-id);
 

Parameters

hWnd
Identificeert de eigenaar venster in het berichtvenster om te worden gemaakt. Als deze parameter NULL is, heeft het berichtvenster geen eigenaar-venster.
lpCaption
Pointer naar een op null eindigende tekenreeks met het bericht moet worden weergegeven.
lpszTitle
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.
wLanguageId
Hiermee geeft u de taal waarin de tekst in de vooraf gedefinieerde drukknoppen weergegeven. Deze waarde moet in de vorm geretourneerd door de MAKELANGID macro.

Zie voor een lijst van de taal-id's ondersteund door Win32, Taalcodes. Merk op dat elke versie van Windows gelokaliseerde en Windows NT meestal middelen slechts voor een beperkt aantal talen bevat. Dus, bijvoorbeeld, de Amerikaanse versie biedt LANG_DUTCH, de Franse versie biedt LANG_FRENCH, de Duitse versie biedt LANG_GERMAN en de Japanse versie biedt LANG_JAPANESE. Elke versie biedt LANG_NEUTRAL. Dit beperkt de set van waarden die kunnen worden gebruikt met de parameter wLanguageId . Voordat u een taal-id opgeeft, moet u de landinstellingen die zijn geïnstalleerd op een systeem opsommen.

Retourwaarden

Als de functie slaagt, is de geretourneerde waarde een waarde van de niet-nulzijnde menu-item 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 van IDCANCEL wanneer de esc-toets of de knop Annuleren wordt gedrukt. Als het berichtvak geen knop Annuleren heeft, heeft op esc te drukken geen effect.

Als de functie mislukt, is de retourwaarde nul. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

Wanneer u een systeem-modaal berichtvenster om aan te geven dat het systeem is onvoldoende geheugen beschikbaar, de tekenreeksen doorgegeven als de parameters lpText en lpCaption moeten niet worden overgenomen uit een resourcegroepbestand, omdat een poging om te laden de resource kan niet maken.

Wanneer een toepassing de functie MessageBoxEx aanroept en de vlaggen van de MB_ICONHAND en MB_SYSTEMMODAL voor de parameter uType geeft , wordt de resulterende berichtvenster ongeacht beschikbaar geheugen weergegeven in de Win32 API. Wanneer u deze vlaggen opgeeft, beperkt het systeem de lengte van de tekst berichtvenster in één regel.

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 dialoogvenster.

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

Syntaxisinfo

nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
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, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow

Index