System jest nie Wyślij WM_CREATE wiadomości do procedury pole dialogowe. Zamiast tego wysyła wiadomość WM_INITDIALOG , kiedy tworzy okno dialogowe i wszystkich jego formantów, ale zanim wyświetli okno dialogowe. Procedury powinny przeprowadzać wszelkie inicjowania, wymagane w celu zapewnienia, że okno dialogowe wyświetla bieżące ustawienia skojarzone polecenie lub zadania. Na przykład jeśli okno dialogowe zawiera formant, aby wyświetlić bieżący dysk i katalog, procedury musi określić bieżącego dysku i katalogu i ustaw element sterujący na wartość.
Procedurę można zainicjować formantów przy użyciu funkcji, takich jak SetDlgItemText i CheckDlgButton. Ponieważ formanty są windows, procedurę można również manipulować nimi przy użyciu funkcji zarządzania okna, takich jak EnableWindow i SetFocus. Procedurę można pobrać uchwytu okna dla formantu za pomocą funkcji GetDlgItem.
Procedura pole dialogowe można zmienić zawartość, Państwa i położenie każdego formantu, w razie potrzeby. Na przykład w polu okna dialogowego, który zawiera pole listy nazw plików i przycisku Otwórz, procedury można wyłączyć przycisk Otwórz, dopóki użytkownik wybierze plik z listy. W tym przykładzie szablonu pole dialogowe określa styl WS_DISABLED przycisku Otwórz i system automatycznie wyłącza przycisk podczas jej tworzenia. Gdy procedura pole dialogowe otrzymuje wiadomość z powiadomieniem w polu listy, wskazujące, że użytkownik wybrał plik, procedura wywołuje funkcję EnableWindow , aby włączyć przycisk Otwórz.
Aby wyświetlić ikonę niestandardową na pasek tytułu okna dialogowego, obsługi WM_INITDIALOG można wysłać wiadomość WM_SETICON aby oknie dialogowym.
Jeśli aplikacja tworzy okno dialogowe przy użyciu jednej z funkcji, DialogBoxParam, DialogBoxIndirectParam, CreateDialogParamlub CreateDialogIndirectParam, parametr fikcyjnymi wiadomości WM_INITDIALOG zawiera dodatkowy parametr przekazany do funkcji. Aplikacje zazwyczaj używają ten dodatkowy parametr przekazać adres inicjowania dodatkowych informacji do procedury pole dialogowe, ale procedura pole dialogowe należy określić znaczenie parametr. Jeśli aplikacja używa innej funkcji, aby utworzyć okna dialogowego, system Ustawia parametr fikcyjnymi NULL.
Przed powrotem z komunikat WM_INITDIALOG , procedurę należy określić, czy należy ustawić fokus do danego formantu. Jeśli procedura pole dialogowe zwraca wartość TRUE, system automatycznie ustawia fokus na formant, którego uchwyt okna jest w parametrze wParam . Jeśli formant otrzymania fokusu domyślnie nie jest właściwe, można ustawić fokus do właściwej kontroli za pomocą funkcji SetFocus . Jeśli procedura ustawia fokus, musi ona zwracać wartość FAŁSZ, aby zapobiec system ustawiania ostrości domyślne. Kontrolnych otrzymujących domyślne wejściowe fokus jest zawsze pierwszego formantu podane w szablonie, który jest widoczny, nie wyłączona, i zostało zapisane w stylu WS_TABSTOP. Istnienie takich kontroli systemu ustawia domyślną fokus do pierwszego formantu w szablonie.