MessageBoxEx

Funksjonen MessageBoxEx oppretter, viser og opererer en meldingsboks. Meldingsboksen inneholder en programdefinert meldingen og tittel, i tillegg til en hvilken som helst kombinasjon av forhåndsdefinerte ikoner og trykknapper. WLanguageId -parameteren angir hvilket sett med språkressurser brukes til forhåndsdefinerte trykknapper. For fullstendige beskrivelser av andre parameterne for MessageBoxEx, se MessageBox.

int () MessageBoxEx HWND  hWnd, / / håndtere eier-vinduetLPCTSTRlpText, / / adresse i teksten i meldingsboksenLPCTSTRlpCaption, / / adresse av tittelen på meldingsboksUINTuType, / / style av meldingsboksWORDwLanguageId / / språkidentifikator);
 

Parametere

hWnd
Identifiserer eiervinduet av meldingsboksen skal opprettes. Hvis denne parameteren er NULL, har meldingsboksen ingen eiervinduet.
lpCaption
Pekeren til en null-terminert streng som inneholder meldingen som skal vises.
lpszTitle
Pekeren til en null-terminert streng som brukes for dialogbokstittelen. Hvis denne parameteren er NULL, brukes standardtittelen feil.
uType
Angir et sett med Bitflagg som angir innholdet og virkemåten i dialogboksen. Denne parameteren kan være en kombinasjon av flaggene fra følgende grupper av flagg.

Angi ett av følgende flagg å angi knappene i melding-boksen:
Flagg Betydning
MB_ABORTRETRYIGNORE Meldingsboksen inneholder tre knapper: avbryte, prøv på nytt, og ignorere.
MB_OK Meldingsboksen inneholder én knapp: OK. Dette er standard.
MB_OKCANCEL Meldingsboksen inneholder to knapper: OK og Avbryt.
MB_RETRYCANCEL Meldingsboksen inneholder to knapper: Prøv på nytt og avbryte.
MB_YESNO Meldingsboksen inneholder to knapper: Ja og Nei.
MB_YESNOCANCEL Meldingsboksen inneholder tre knapper: Ja, Nei, og Avbryt.

Angi ett av følgende flagg til å vise et ikon i melding-boksen:
Flagg Betydning
MB_ICONEXCLAMATION,
MB_ICONWARNING
Et utropstegn ikon vises i meldingsboksen.
MB_ICONINFORMATION, MB_ICONASTERISK
Det vises et ikon som består av en liten bokstav jeg i en sirkel i melding-boksen.
MB_ICONQUESTION Et spørsmålstegn vises i meldingsboksen.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
Et Stopptegn ikon vises i meldingsboksen.

Angi ett av følgende flagg til å angi standardknappen:
Flagg Betydning
MB_DEFBUTTON1 Den første knappen er standardknappen.

MB_DEFBUTTON1 er standard med mindre MB_DEFBUTTON2, MB_DEFBUTTON3 eller MB_DEFBUTTON4 er angitt.

MB_DEFBUTTON2 Den andre knappen er standardknappen.
MB_DEFBUTTON3 Den tredje knappen er standardknappen.
MB_DEFBUTTON4 Den fjerde knappen er standardknappen.

Angi ett av følgende flagg å angi modality i dialogboksen:
Flagg Betydning
MB_APPLMODAL Brukeren må svare på melding-boksen før du fortsetter arbeidet i vinduet identifisert av parameteren hWnd . Imidlertid kan brukeren flytte til Vinduer i andre tråder og arbeide i disse vinduene.

Avhengig av hierarkiet av Vinduer i programmet, kan brukeren kunne flytte andre vinduer i tråden. Alle underordnede vinduer for overordnet meldingsboksen deaktiveres automatisk, men popup-vinduer er ikke.

MB_APPLMODAL er standard hvis verken MB_SYSTEMMODAL eller MB_TASKMODAL er angitt.

MB_SYSTEMMODAL Samme som MB_APPLMODAL, bortsett fra at meldingsboksen har stilen WS_EX_TOPMOST. Bruke system-sperrende dialogbokser til å varsle brukeren av alvorlige, potensiellt ødeleggende feil som krever umiddelbar reaksjon (for eksempel kjører ut av minne). Dette flagget har ingen innvirkning på brukerens evnen til å samhandle med windows enn de som er forbundet med hWnd.
MB_TASKMODAL Samme som MB_APPLMODAL, bortsett fra at alle på øverste nivå vinduer som tilhører gjeldende tråd er deaktivert hvis hWnd -parameteren er NULL. Bruk dette flagget når kallende programmet eller biblioteket ikke har en tilgjengelig vindusreferanse, men fortsatt trenger å hindre inndata til andre vinduer i kallende tråden uten suspendere andre tråder.

I tillegg kan du angi følgende flagg:

MB_DEFAULT_DESKTOP_ONLY
Skrivebordet mottak av inndata må være en standardskrivebordet; Hvis funksjonen ikke mislykkes. En standardskrivebordet er en et program som kjører på etter at brukeren har logget seg på.
MB_HELP
Legger til en Hjelp-knapp i meldingsboksen. Hvis du velger du Hjelp-knappen eller trykke F1 genererer en hjelp-hendelse.
MB_RIGHT
Teksten som er høyrejustert.
MB_RTLREADING
Viser meldingen og bildetekst tekst med leseretning fra høyre mot venstre på hebraisk og arabisk systemer.
MB_SETFOREGROUND
Meldingsboksen blir det forgrunns-vinduet. Internt, kaller systemet funksjonen SetForegroundWindow for meldingsboksen.
MB_TOPMOST
Meldingsboksen opprettes med vindusstilen WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: Oppringeren finnes en tjeneste som varsler brukeren av en hendelse. Funksjonen viser en meldingsboks på gjeldende active desktop, selv om det er ingen brukere er logget datamaskinen.

Hvis dette flagget er angitt, vil den hWnd -parameteren må være NULL. Dette er så meldingsboksen kan vises på annet enn den stasjonære som tilsvarer hWnd.

For Windows NT versjon 4.0, er verdien av MB_SERVICE_NOTIFICATION endret. Se WINUSER.H for gamle og nye verdiene. Windows NT 4.0 gir bakoverkompatibilitet for allerede eksisterende tjenester ved å tilordne den gamle verdien til den nye verdien i gjennomføringen av MessageBox - og MessageBoxEx. Denne tilordningen er bare gjort for kjørbare filer som har et versjonsnummer som sett av kobleren, mindre enn 4.0.

For å bygge en tjeneste som bruker MB_SERVICE_NOTIFICATION, og kan kjøre på både Windows NT 3.x og Windows NT 4.0, har du to valg.
  1. På kobling-tid, kan du angi et versjonsnummer som er mindre enn 4.0; eller
nbsp;   2. På kobling-tid, kan du angi versjon 4.0. Ved kjøring, kan du bruke funksjonen GetVersionEx kontrollerer du systemversjonen for. Så når du kjører på Windows &NT 3.x, bruker MB_SERVICE_NOTIFICATION_NT3X; og på Windows NT 4.0, kan du bruke MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Denne verdien tilsvarer verdien som er definert for MB_SERVICE_NOTIFICATION for Windows NT versjon 3.51.
wLanguageId
Angir språket du vil vise teksten i de forhåndsdefinerte trykknapper. Denne verdien må være i skjemaet som returneres av den MAKELANGID makro.

En liste over språk-IDer som støttes av Win32, kan du se Språk-IDer. Legg merke til at hver lokaliserte utgivelsen av Windows og Windows NT inneholder vanligvis ressurser bare for et begrenset antall språk. Således, for eksempel den amerikanske versjonen tilbyr LANG_NORWEGIAN, den franske versjonen tilbyr LANG_FRENCH, den tyske versjonen tilbyr LANG_GERMAN og den japanske versjonen tilbyr LANG_JAPANESE. Hver versjon tilbyr LANG_NEUTRAL. Dette begrenser settet med verdier som kan brukes med parameteren wLanguageId . Før du angir en språk-ID, bør du Nummerer de nasjonale innstillingene som er installert på et system.

Returverdier

Hvis funksjonen lykkes, er returverdien en ikke-null-menyelementet-verdien som returneres av dialogboksen.

Verdi Betydning
IDABORT Avbryt-knappen ble valgt.
IDCANCEL Avbryt-knappen ble valgt.
IDIGNORE Ignorere knappen ble valgt.
IDNO Ingen knappen ble valgt.
IDOK OK-knappen ble valgt.
IDRETRY Prøv på nytt-knappen ble valgt.
IDYES Ja ble-knappen valgt.

Hvis en meldingsboks har en Avbryt-knapp, returnerer funksjonen IDCANCEL verdien når enten esc-tasten eller Avbryt-knappen trykkes. Hvis meldingsboksen har ingen Avbryt-knappen, har trykke esc-tasten ingen virkning.

Hvis funksjonen mislykkes, er verdien som returneres Null. Til å vise utvidet feilinformasjon, kan du ringe GetLastError.

Merknader

Når du oppretter en system-sperrende meldingsboksen for å angi at systemet har lite minne, strengene som sendes som lpText og lpCaption -parametere bør ikke tas fra en ressursfil, fordi et forsøk på å laste inn ressursen kan mislykkes.

Når et program kaller funksjonen MessageBoxEx og angir flaggene MB_ICONHAND og MB_SYSTEMMODAL for uType -parameteren, viser Win32 API resulterende meldingsboksen uavhengig av tilgjengelig minne. Når du angir disse flaggene, begrenser systemet lengden i melding-boksen tekst til én linje.

Hvis du oppretter en meldingsboks når en dialogboks er til stede, bruker du håndtaket i dialogboksen som den hWnd -parameteren. Parameteren hWnd bør ikke identifisere et underordnet vindu, for eksempel en dialogboks.

Windows 95:Systemet kan støtte maksimalt 16,364 vinduet håndtak.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Som ikke støttes.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.
Unicode:Implementert som Unicode- og ANSI-versjoner i Windows og Windows NT.

Se også

Oversikt over dialogboksen-boksene, dialogboksen fungerer, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow

Index