MessageBox

Funkcji MessageBox tworzy, wyświetla i działa w oknie komunikatu. W oknie komunikatu zawiera wiadomości zdefiniowane przez aplikację i tytuł oraz dowolną kombinacją wstępnie ikony i przycisków poleceń.

int MessageBox ( HWND  hWnd, / / uchwyt okna właścicielaLPCTSTRlpText, / / adresu tekstu w oknie komunikatuLPCTSTRlpCaption, / / adresu tytułu okna komunikatuUINTuType / / styl z okna komunikatu);
 

Parametry

hWnd
Identyfikuje okna właściciel pola wiadomości ma być utworzony. Jeśli ten parametr ma wartość NULL, w oknie komunikatu ma okna właściciela.
lpText
Wskaźnik ciąg zakończony zerem, zawierające wiadomości mają być wyświetlane.
lpCaption
Wskaźnik ciąg zakończony zerem, używane do tytułu okna dialogowego. Jeśli ten parametr ma wartość NULL, zostanie użyty domyślny tytuł błędu.
uType
Określa zestaw flag bitowych, które określają zawartość i zachowanie okna dialogowego. Ten parametr może być kombinacją flag z następujących grup flagi.

Określić jedną z następujących flag do wskazania przyciski zawarte w oknie komunikatu:
Flaga Znaczenie
MB_ABORTRETRYIGNORE W oknie komunikatu zawiera trzy przyciski replikacji wypychanej: przerwanie, spróbuj ponownie i Ignoruj.
MB_OK W oknie komunikatu zawiera jeden przycisk: OK. To jest wartość domyślna.
MB_OKCANCEL W oknie komunikatu zawiera dwa przyciski replikacji wypychanej: OK i Anuluj.
MB_RETRYCANCEL W oknie komunikatu zawiera dwa przyciski replikacji wypychanej: spróbuj ponownie i anulować.
MB_YESNO W oknie komunikatu zawiera dwa przyciski replikacji wypychanej: Yes i nr.
MB_YESNOCANCEL W oknie komunikatu zawiera trzy przyciski replikacji wypychanej: tak, nie i Anuluj.

Określić jedną z następujących flag do wyświetlania ikony w oknie komunikatu:
Flaga Znaczenie
MB_ICONEXCLAMATION,
MB_ICONWARNING
W polu komunikat pojawi się ikona wykrzyknika.
MB_ICONINFORMATION, MB_ICONASTERISK
W oknie komunikatu pojawia się ikona składające się z małą literę i w okręgu.
MB_ICONQUESTION W oknie komunikatu pojawia się ikona znaku zapytania.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
W oknie komunikatu pojawia się ikona zatrzymania znak.

Określić jedną z następujących flag do wskazywania przycisku domyślne:
Flaga Znaczenie
MB_DEFBUTTON1 Pierwszy przycisk jest przyciskiem domyślnym.

MB_DEFBUTTON1 jest to ustawienie domyślne, gdy nie określono MB_DEFBUTTON2, MB_DEFBUTTON3 lub MB_DEFBUTTON4.

MB_DEFBUTTON2 Drugi przycisk jest przyciskiem domyślnym.
MB_DEFBUTTON3 Trzeci przycisk jest przyciskiem domyślnym.
MB_DEFBUTTON4 Czwarty przycisk jest przyciskiem domyślnym.

Określić jedną z następujących flag do wskazania modalność okna dialogowego:
Flaga Znaczenie
MB_APPLMODAL Użytkownik musi udzielić odpowiedzi w oknie komunikatu przed kontynuowaniem pracy w oknie określone przez parametr hWnd . Jednakże użytkownik może przejść do okna innych wątków i pracy w tych oknach.

W zależności od hierarchii w aplikacji systemu windows użytkownik może być mógł przechodzić do innych okien w wątku. Wszystkich okien podrzędnych elementu nadrzędnego pola wiadomości są automatycznie wyłączane, ale nie są wyskakujących okienek.

MB_APPLMODAL jest wartością domyślną, jeśli określono MB_SYSTEMMODAL ani MB_TASKMODAL.

MB_SYSTEMMODAL Podobnie jak MB_APPLMODAL, chyba że w oknie komunikatu zostało zapisane w stylu WS_EX_TOPMOST. Za pomocą okna komunikatów systemu modalnym powiadamia użytkownika o poważnych, potencjalnie szkodliwych błędów, które wymagają natychmiastowa (np. pamięci). Ta flaga nie ma wpływu na zdolność użytkownika do interakcji z systemem windows inne niż te, które są skojarzone z hWnd.
MB_TASKMODAL Podobnie jak MB_APPLMODAL, z tym wyjątkiem, że wszystkich okien najwyższego poziomu należących do bieżącego wątku są wyłączone, jeśli parametr hWnd jest NULL. Użyj tej flagi, podczas wywoływania aplikacji lub biblioteki nie ma dostępnych uchwyt okna, ale wciąż mają uniemożliwić wejście do innych okien wywołania wątku bez zawieszania inne wątki.

Ponadto można określić następujące flagi:

MB_DEFAULT_DESKTOP_ONLY
Pulpit obecnie odbierając dane wejściowe muszą być na pulpicie domyślnym; w przeciwnym wypadku funkcja zawiedzie. Na pulpicie domyślnym jest jedna aplikacja działa na po zalogowaniu użytkownika.
MB_HELP
Dodaje przycisk Pomoc, aby oknie komunikatu. Wybierając przycisk Pomoc lub naciskając klawisz F1 generuje zdarzenia pomocy.
MB_RIGHT
Tekst jest wyrównany do prawej.
MB_RTLREADING
Wyświetla tekst wiadomości i podpis przy użyciu kolejność czytania od prawej do lewej w systemach hebrajski i arabski.
MB_SETFOREGROUND
W oknie komunikatu staje się oknem pierwszego planu. Wewnętrznie system wywołuje funkcję SetForegroundWindow w oknie komunikatu.
MB_TOPMOST
W oknie komunikatu jest utworzonej przy użyciu stylu okna WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Systemu Windows NT: Obiekt wywołujący jest usługą powiadamianie użytkownika o zdarzeniu. Funkcja wyświetla okno komunikatu na bieżącym active desktop, nawet, jeśli nie istnieje żaden użytkownik zalogowany do komputera.

Jeśli ta flaga będzie ustawiona, parametr hWnd musi mieć wartość NULL. Jest to tak w oknie komunikatu może występować na pulpicie innych niż pulpitu odpowiadające hWnd.

W systemie Windows NT w wersji 4.0 zmieniła się wartość MB_SERVICE_NOTIFICATION. Patrz WINUSER.H dla starych i nowych wartości. Windows NT 4.0 zapewnia zgodność ze starszymi wersjami usług wcześniej przez mapowanie starą wartość na nową wartość w realizacji MessageBox i MessageBoxEx. To mapowanie jest wykonywane tylko dla plików wykonywalnych, które mają numer wersji, określone przez linker, mniej niż 4.0.

Aby utworzyć usługa używa MB_SERVICE_NOTIFICATION i może działać na Windows NT 3.x i 4.0 systemu Windows NT, masz dwie możliwości.
  1. Czasie łącze należy określić numer wersji, mniej niż 4.0; lub
nbsp;   2. W czasie łącza należy określić w wersji 4.0. W czasie wykonywania należy użyć funkcji GetVersionEx sprawdzić wersję systemu. &Następnie, gdy uruchomiony w systemie Windows NT 3.x, użyj MB_SERVICE_NOTIFICATION_NT3X; i w systemie Windows NT 4.0, należy użyć MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Systemu Windows NT: Wartość ta odpowiada wartości zdefiniowanej dla MB_SERVICE_NOTIFICATION dla systemu Windows NT w wersji 3.51.

Zwraca wartości

Wartość zwracany jest równa zero, jeśli nie jest za mało pamięci, aby utworzyć w oknie komunikatu.

Jeśli funkcja, wartość zwracany jest jedna z następujących wartości elementu menu zwrócony przez okno dialogowe:

Wartość Znaczenie
IDABORT Wybrano przycisk Przerwij.
IDCANCEL Wybrano przycisk Anuluj.
IDIGNORE Ignoruj wybrany został przycisk.
IDNO Nie została zaznaczona.
IDOK Wybrano przycisk OK.
IDRETRY Wybrano przycisk Ponów.
IDYES Tak wybrany został przycisk.

Jeśli w oknie komunikatu przycisk Anuluj, funkcja zwróci wartość IDCANCEL, jeżeli zostanie naciśnięty klawisz esc albo zaznaczono przycisk Anuluj. Jeśli w oknie komunikatu nie przycisk Anuluj, naciskając klawisz esc nie ma wpływu.

Uwagi

Kiedy używać okna komunikatu systemu modalnym do wskazują, że system jest mało pamięci, ciągi wskazywanego przez lpText i lpCaption parametry nie powinny być pobrane z pliku zasobów, ponieważ próba załadowania zasobów może zakończyć się niepowodzeniem.

Gdy aplikacja wywołuje MessageBox i określa flagi MB_ICONHAND i MB_SYSTEMMODAL dla parametru uType , system wyświetla wynikowy pola wiadomości, niezależnie od dostępnej pamięci. Gdy te flagi są określone, system ogranicza długość tekstu pole wiadomość do trzech wierszy. System wykonuje nie automatycznie podzielić wiersze, które mieszczą się w oknie komunikatu, jednak tak ciąg wiadomości musi zawierać karetki do podziału wierszy w odpowiednich miejscach.

Jeśli tworzysz okno komunikatu pojawia się okno dialogowe jest obecny, użyj uchwytu okna dialogowego jako parametr hWnd . Parametr hWnd nie należy zidentyfikować okna podrzędnego, takie jak formant w oknie dialogowym.

Systemu Windows 95:System może obsługiwać maksymalnie 16,364 okno uchwyty.

Systemu Windows CE: Windows CE nie obsługuje następujące style dla parametru uType

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

Następujące powrócić, że wartości nie są obsługiwane:

IDCLOSE

IDHELP

Skrócone informacje

nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Należy użyć user32.lib.
Unicode:Implementowane jako wersje Unicode i ANSI w systemie Windows i Windows NT.

Zobacz też

Omówienie pola dialogowego, okno dialogowe pole funkcji, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

Index