Funkcja MessageBoxEx tworzy, wyświetla i działa w oknie komunikatu. W oknie komunikatu zawiera wiadomości zdefiniowane przez aplikację i tytuł plus dowolną kombinację wstępnie ikony i przyciski. Parametr wLanguageId określa, który zestaw zasobów językowych jest używany dla wstępnie zdefiniowanych przycisków poleceń. Aby uzyskać pełne opisy innych parametrów MessageBoxExzobacz MessageBox.
int MessageBoxEx ( HWND hWnd, / / uchwyt okna właścicielaLPCTSTRlpText, / / adresu tekstu w oknie komunikatuLPCTSTRlpCaption, / / adresu tytułu okna komunikatuUINTuType, / / styl z okna komunikatuProgram WORDwLanguageId / / identyfikator języka);
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:
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.
|
| 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. |
Aby uzyskać listę identyfikatorów języków obsługiwanych przez Win32, zobacz Identyfikatorów języków. Należy zauważyć, że każdy zlokalizowanych wersji systemu Windows i Windows NT zawiera zazwyczaj zasobów tylko dla ograniczonego zestawu języków. W związku z tym na przykład w amerykańskiej wersji oferuje LANG_ENGLISH wersji francuskiej oferuje LANG_FRENCH, niemieckiej wersji oferuje LANG_GERMAN i japońskiej wersji oferuje LANG_JAPANESE. Każda wersja oferuje LANG_NEUTRAL. Ogranicza to zbiór wartości, które mogą być używane z parametrem wLanguageId . Przed określeniem identyfikatora języka, należy wyliczyć ustawień regionalnych, które są zainstalowane w systemie.
Jeśli funkcja, wartość zwracana jest wartość niezerową element 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 zwraca wartość IDCANCEL po naciśnięciu klawisza esc lub przycisk Anuluj. Jeśli w oknie komunikatu nie przycisk Anuluj, naciskając klawisz esc ma wpływu.
Jeśli funkcja zawiedzie, wartość zwracany jest równa zero. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.
Podczas tworzenia pola komunikatu systemu modalny w celu wskazują, że w systemie brakuje pamięci, ciągi przesyłane jako parametry lpText i lpCaption nie powinny być pobrane z pliku zasobów, ponieważ próba załadowania zasobów może się nie powieść.
Gdy aplikacja wywołuje funkcję MessageBoxEx i określa flagi MB_ICONHAND i MB_SYSTEMMODAL dla parametru uType , Win32 API wyświetla wynikowy pola wiadomości, niezależnie od dostępnej pamięci. Po określeniu tych flag, system ogranicza długość tekstu okno komunikatu do jednego wiersza.
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, takich jak okno dialogowe.
Systemu Windows 95:System może obsługiwać maksymalnie 16,364 okno uchwyty.
nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Nieobsługiwane.
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.
Omówienie pola dialogowego, okno dialogowe pole funkcji, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow