Funkcja CreateDialogIndirectParam tworzy okno dialogowe niemodalny 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.
(HWND CreateDialogIndirectParam 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 proceduryFIKCYJNYMIlParamInit / / Inicjowanie wartości);
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 CreateDialogIndirectParam , 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.
Funkcja CreateDialogIndirectParam funkcja funkcji CreateWindowEx utworzyć okna dialogowego. CreateDialogIndirectParam 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 CreateDialogIndirectParam zwraca uchwyt okna dialogowe.
Po CreateDialogIndirectParam , 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: Oknach dialogowych spoza widocznego obszaru ekranu nie są automatycznie położenie.
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.
Następujące style nie są obsługiwane dla członka styl struktury DLGTEMPLATE :
Aby uzyskać, położenie domyślne, należy użyć stylu DS_CENTER.
Jeśli styl WS_CHILD nie jest określony, przyjęto, że styl WS_POPUP.
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, CreateDialogIndirect, CreateDialogParam, funkcji CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT