MessageBoxIndirect

Morris
int MessageBoxIndirect(
    const LPMSGBOXPARAMS lpMsgBoxParams
);
function MessageBoxIndirect(const lpMsgBoxParams: MSGBOXPARAMS): Integer;

Funkcja MessageBoxIndirect tworzy, wyświetla i zarządza oknem komunikatu. Okno komunikatu może zawierać dowolny komunikat i tytuł, dowolną ikonę oraz dowolną kombinację predefiniowanych przycisków.

Parametry
lpMsgBoxParams wskaźnik na strukturę [[WinAPI/Struktury/MSGBOXPARAMS]] przechowującą informacje używane do wyświetlenia okna komunikatu.
Wartość zwracana
Jeśli okno komunikatu posiada przycisk ?Anuluj?, funkcja zwraca wartość `IDCANCEL` zarówno po wybraniu tego przycisku jak i po naciśnięciu klawisza ESC. Jeśli okno nie zawiera przycisku ?Anuluj?, klawisz ESC jest ignorowany.

Jeśli jest za mało pamięci aby utworzyć okno komunikatu, funkcja zwraca wartość 0.

Jeśli funkcja się powiedzie, zwraca jedną z następujących wartości:

IDABORTWybrano przycisk Przerwij
IDCANCELWybrano przycisk Anuluj
IDCONTINUEWybrano przycisk Kontynuuj
IDIGNOREWybrano przycisk Ignoruj
IDNOWybrano przycisk Nie
IDOKWybrano przycisk OK
IDRETRYWybrano przycisk Ponów próbę
IDTRYAGAINWybrano przycisk Ponów próbę
IDYESWybrano przycisk Tak
Uwagi
W przypadku użycia okna modalnego dla systemu dla zakomunikowania, że wyczerpuje się wolna pamięć, łańcuchy wskazywane przez pola lpszText i lpszCaption struktury `MSGBOXPARAMS` nie powinny pochodzić z zasobów, ponieważ załadowanie zasobu może się nie powieść w takim przypadku.

Gdy wywołuje się funkcję wyświetlającą komunikat przy istniejącym oknie dialogowym, w parametrze hWnd należy przekazać uchwyt tego okna dialogowego. Parametr hWnd nie powinien zawierać uchwytu okna potomnego, jak np. kontrolki w oknie dialogowym.

Windows 95/98/Me: Wystem obsługuje maksymalnie 16364 uchwytów okien.
Windows 95/98/Me: Wersja Unicode funkcji (MessageBoxIndirectW) jest wspierana przez Warstwę Unicode (Microsoft Layer for Unicode) - MSLU. Aby użyć funkcji w wersji Unicode, należy dokonać pewnych zmian w aplikacji wedle wskazówek nakreślonych w Microsoft Layer for Unicode on Windows 95/98/Me Systems (eng)

0 komentarzy