Kreatorzy są używani do przeprowadzania użytkownika przez zestaw kolejnych czynności. Moduł dodatkowy może dostarczać kreatorów we wstępnie zdefiniowanych punktach rozszerzenia obszaru roboczego. Może również tworzyć i uruchamiać własnych kreatorów.
Przy dostarczaniu elementu do punktu rozszerzenia kreatora w obszarze roboczym akcje uruchamiające kreatora są już skonfigurowane przez obszar roboczy. Należy tylko dostarczyć kreatora, który będzie używany.
Jeśli konieczne jest uruchomienie innych kreatorów, które nie zostały jeszcze zdefiniowane w punktach rozszerzenia kreatorów w obszarze roboczym, należy je uruchomić samodzielnie. Własnych kreatorów można uruchamiać, dodając akcję do widoku, edytora, menu podręcznego lub zestawu akcji.
Kreator składa się z kilku różnych elementów bazowych.
Klasa okna dialogowego kreatora (WizardDialog) jest oknem dialogowym najwyższego poziomu kreatora. Definiuje standardowe przyciski kreatora oraz zarządza dostarczanymi do niego stronami.
Przy dostarczaniu elementu za pomocą punktu rozszerzenia kreatorów w obszarze roboczym nie ma potrzeby tworzenia okna dialogowego kreatora. Obszar roboczy tworzy je w imieniu użytkownika i kreator jest w nim od razu ustawiony.
Okno dialogowe kreatora włącza i wyłącza przyciski Dalej, Wstecz i Zakończ na podstawie informacji, które otrzymuje od kreatora i jego bieżącej strony.
Interfejs kreatora (IWizard) kontroluje wygląd i zachowanie danego kreatora, w tym tekst na pasku tytułu, obraz i dostępność przycisku pomocy. Kreatorzy używają często odpowiednich klas DialogSettings do uzyskania (i zapisywania) domyślnych wartości elementów sterujących stron kreatora.
Klasa Wizard implementuje wiele szczegółów zachowania standardowego kreatora. Ta klasa jest zazwyczaj rozszerzana w celu implementacji zachowań specyficznych dla danego kreatora. Podstawowy zakres odpowiedzialności kreatora obejmuje:
Interfejs strony kreatora (IWizardPage) definiuje elementy sterujące używane do wyświetlania treści danej strony kreatora. Odpowiada na zdarzenia w obszarach treści i określa moment zakończenia przetwarzania strony.
Strona kreatora zazwyczaj rozszerza klasę WizardPage. Podstawowy zakres odpowiedzialności strony kreatora obejmuje: