DialogBoxIndirectParam

Funkcja DialogBoxIndirectParam tworzy modalnego okna dialogowego z szablonu pole dialogowe w pamięci. Przed wyświetleniem okna dialogowego, funkcja przekazuje wartość zdefiniowanych przez aplikację do procedury pole dialogowe jako parametr fikcyjnymi wiadomości WM_INITDIALOG . Aby zainicjować formantów okna dialogowego aplikacji można użyć tej wartości.

int DialogBoxIndirectParam ( Wystąpienie HINSTANCE  wystąpienie hInstance, / / dojście do instancji aplikacjiLPCDLGTEMPLATEhDialogTemplate,  / / identyfikuje okna dialogowego pole szablonuHWNDhWndParent, / / dojście do okna właścicielaDLGPROClpDialogFunc, / / wskaźnik, aby oknie dialogowym pole proceduryFIKCYJNYMIdwInitParam / / Inicjowanie wartości);
 

Parametry

wystąpienie hInstance
Identyfikuje wystąpienie modułu, który tworzy okno dialogowe.
hDialogTemplate
Wskaźnik do obiektu globalnej pamięci zawierającej szablon, który DialogBoxIndirectParam używa do tworzenia okna dialogowego. Szablon pola dialogowe składa się z nagłówka, który opisuje okna dialogowego, a następnie przez jedną lub więcej dodatkowych bloki danych, które zawierają opisy poszczególnych formantów w oknie dialogowym. Szablon można użyć standardowego formatu lub rozszerzony format.

W szablonie standardowym okna dialogowego nagłówek jest strukturą DLGTEMPLATE następuje dodatkowe o zmiennej długości tablic. Dane dla każdego formantu składa się z konstrukcji DLGITEMTEMPLATE następuje dodatkowe o zmiennej długości tablic.

W szablonie rozszerzone okna dialogowego nagłówka używa formatu DLGTEMPLATEEX i definicje kontroli użyj formatu DLGITEMTEMPLATEEX.

hWndParent
Identyfikuje okno, w którym posiada okno dialogowe.
lpDialogFunc
Wskaźnik do procedury pole dialogowe. Aby uzyskać więcej informacji na temat procedury pole dialogowe zobacz DialogProc.
dwInitParam
Określa wartość, aby przejść do okna dialogowego w parametrze fikcyjnymi wiadomości WM_INITDIALOG.

Zwraca wartości

Jeśli funkcja, wartość zwracany jest parametr nResult w wywołaniu funkcji EndDialog , który został użyty do zakończenia okno dialogowe.

Jeśli funkcja zawiedzie, wartość zwracany jest –1. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.

Uwagi

Funkcja DialogBoxIndirectParam funkcja funkcji CreateWindowEx utworzyć okna dialogowego. DialogBoxIndirectParam następnie wysyła wiadomość WM_INITDIALOG procedurze pole dialogowe. Jeśli szablon określa styl DS_SETFONT, funkcja również wysyła komunikat WM_SETFONT procedurze pole dialogowe. Funkcja wyświetla okno dialogowe (niezależnie od o czy szablonu określa styl WS_VISIBLE), wyłącza okno właściciela i uruchamia własny Pętla wiadomości do pobierania i wysyłania wiadomości w oknie dialogowym.

Gdy procedura pole dialogowe wywołuje funkcję EndDialog , DialogBoxIndirectParam niszczy okno dialogowe, kończy się pętla komunikatów, umożliwia okno właściciela (jeśli wcześniej włączony) i zwraca parametr nResult , określony zgodnie z procedurą pole dialogowe po wywołaniu EndDialog.

W szablonie pole standardowe okno dialogowe struktura DLGTEMPLATE i poszczególnych struktur DLGITEMTEMPLATE muszą być dostosowane do granic DWORD . Tablicy danych tworzenie, znajdujący się w strukturze DLGITEMTEMPLATE musi być również dostosowane na granicy DWORD . Wszystkie inne tablice o zmiennej długości w szablonie muszą muszą przybierać na granice programu WORD.

W szablonie pole dialogowe rozszerzone nagłówka DLGTEMPLATEEX i każdej z definicji formantu DLGITEMTEMPLATEEX muszą być dostosowane do granic DWORD . Tworzenie danych tablicy, jeżeli istnieją, znajdujący się w strukturze DLGITEMTEMPLATEEX również muszą być dostosowane do granicy DWORD . Wszystkie inne tablice o zmiennej długości w szablonie muszą być dostosowane do programu WORD granice.

Wszystkie ciągi znaków w szablonie pole dialogowe, takie jak tytuły okno dialogowe i przyciski, musi być ciągów Unicode. Aby utworzyć kod, który działa w systemie Windows i Windows NT, należy użyć funkcji MultiByteToWideChar do generowania tych ciągów Unicode.

Systemu Windows 95 lub nowszym:System może obsługiwać maksymalnie 255 formanty na okno dialogowe pole szablonu. Aby umieścić więcej niż 255 formantów w oknie dialogowym, należy utworzyć formanty obsługi wiadomości WM_INITDIALOG, zamiast wprowadzania ich w szablonie.

Systemu Windows CE: Jeśli użytkownik naciśnie klawisze ALT + H, podczas gdy okno dialogowe ma fokus, system zaksięguje wiadomość WM_HELP procedury okna dialogowego. Aplikacja powinna odpowie na ten komunikat, wyświetlając pomocy kontekstowej w oknie dialogowym.

Dla innych ograniczeń okna dialogowego zobacz CreateDialogIndirectParam.

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

Zobacz też

Omówienie pola dialogowego, okno dialogowe pole funkcje, funkcji CreateWindowEx, DialogBox, DialogBoxIndirect, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, EndDialog, MultiByteToWideChar, WM_INITDIALOG, WM_SETFONT

Index