CreateDialogIndirect

Makro CreateDialogIndirect tworzy okno dialogowe niemodalny z szablonu pole dialogowe w pamięci. Makro CreateDialogIndirect używa funkcji CreateDialogIndirectParam.

(HWND CreateDialogIndirect Wystąpienie HINSTANCE  wystąpienie hInstance, / / dojście do instancji aplikacjiLPCDLGTEMPLATElpTemplate, / / wskaźnik, aby oknie dialogowym pole szablonuHWNDhWndParent, / / dojście do okna właścicielaDLGPROClpDialogFunc / / wskaźnik, aby oknie dialogowym pole procedury);
 

Parametry

wystąpienie hInstance
Identyfikuje wystąpienie modułu, który tworzy okno dialogowe.
lpTemplate
Wskaźnik do obiektu globalnej pamięci zawierającej szablon, który CreateDialogIndirect 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 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 pole dialogowe rozszerzone nagłówka używa formatu DLGTEMPLATEEX i definicje kontroli użyj formatu DLGITEMTEMPLATEEX.

Po CreateDialogIndirect , można zwolnić szablon, który jest używane, aby oknie dialogowym rozpoczął.

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.

Zwraca wartości

Jeśli funkcja, wartość zwracany jest dojście do okna dialogowe.

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

Uwagi

Makro CreateDialogIndirect używa funkcji funkcji CreateWindowEx , aby utworzyć okna dialogowego. CreateDialogIndirect 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, jeśli szablon określa styl WS_VISIBLE. Wreszcie CreateDialogIndirect zwraca uchwyt okna dialogowe.

Po CreateDialogIndirect , można użyć funkcji ShowWindow do wyświetlania okna dialogowego (jeśli nie już jest widoczny). Zniszczenie okno dialogowe, należy użyć funkcji DestroyWindow.

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: Nie wszystkie style są obsługiwane w strukturze DLGTEMPLATE w szablonie okno dialogowe określone przez parametr lpTemplate .

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, CreateDialog, CreateDialogIndirectParam, CreateDialogParam, funkcji CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT

Index