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);
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ął.
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.
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 .
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.
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