Il modello specifica posizione, larghezza, altezza, stile, identificatore e classe di finestra per ogni controllo nella finestra di dialogo. Il sistema crea ogni controllo dal passaggio di questi dati alla funzione CreateWindowEx . I controlli vengono creati nell'ordine che sono dati nel modello. Il modello deve specificare l'appropriato numero, tipo e ordine dei controlli per assicurare che l'utente può immettere l'input necessario per completare il comando associato nella finestra di dialogo.
Per ogni controllo, il modello specifica i valori di stile che definiscono l'aspetto e il funzionamento del controllo. Ogni controllo è una finestra figlio e pertanto deve essere lo stile WS_CHILD. Per garantire che il controllo sia visibile quando viene visualizzata la finestra di dialogo, ciascun controllo deve avere anche lo stile WS_VISIBLE. Altri stili finestra comunemente usati sono WS_BORDER per i controlli che hanno bordi opzionali, WS_DISABLED per i controlli che devono essere disattivate quando nella finestra di dialogo viene creata inizialmente, e WS_TABSTOP e WS_GROUP per i controlli che è possibile accedere mediante la tastiera. Vengono utilizzati gli stili WS_TABSTOP e WS_GROUP in concomitanza con l'interfaccia di tastiera di dialogo descritto più avanti in questo argomento.
Il modello può anche specificare gli stili di controllo specifici per la classe della finestra del controllo. Ad esempio, un modello che specifica un controllo button deve dare uno stile di controllo pulsante come BS_PUSHBUTTON o BS_CHECKBOX. Il sistema passa gli stili del controllo alla procedura di finestra controllo attraverso il messaggio WM_CREATE , che consente la procedura di adattare l'aspetto e il funzionamento del controllo.
Il sistema converte le coordinate di posizione e le misurazioni di larghezza e altezza da unità base di dialogo a pixel, prima di passare questi a CreateWindowEx. Quando il sistema crea un controllo, specifica la finestra di dialogo come finestra padre. Questo significa che il sistema interpreta sempre le coordinate di posizione del controllo come coordinate client, rispetto all'angolo superiore sinistro dell'area client della finestra di dialogo.
Il modello consente di specificare la classe della finestra per ogni controllo. Una tipica di dialogo contiene controlli appartenendo a classi di finestre di controllo predefiniti, ad esempio il pulsante e modificare le classi di finestre di controllo. In questo caso, il modello di specificare classi di finestre fornendo i corrispondenti valori predefiniti atomo per le classi. Quando una finestra di dialogo contiene un controllo appartenendo a una classe di finestra di un controllo personalizzato, il modello dà il nome di tale classe di finestra registrati o il valore di atomo attualmente associato al nome.
Ogni controllo di una finestra di dialogo deve avere un identificatore univoco per distinguerlo da altri controlli. Controlli di inviare informazioni alla procedura di casella di dialogo attraverso messaggi WM_COMMAND , così gli identificatori di controllo sono essenziali per la procedura determinare quale controllo ha inviato un determinato messaggio. L'unica eccezione a questa regola sono controllo identificatori per controlli statici. Controlli statici non richiedono gli identificatori univoci perché non inviare nessun messaggio WM_COMMAND.
Per consentire all'utente di chiudere la finestra di dialogo, il modello deve specificare almeno un pulsante e dare l'identificatore del controllo IDCANCEL. Per consentire all'utente di scegliere tra il completamento o annullare il comando associato nella finestra di dialogo, il modello deve specificare due pulsanti, con l'etichetta OK e Annulla, con gli identificatori di controllo di IDOK e IDCANCEL, rispettivamente.
Un modello specifica inoltre dati facoltativi di testo e la creazione di un controllo. Il testo in genere fornisce le etichette per i controlli button o specifica il contenuto iniziale di un controllo di testo statico. I dati per la creazione sono uno o più byte di dati che il sistema passa alla procedura di finestra controllo durante la creazione del controllo. Dati per la creazione sono utili per i controlli che richiedono ulteriori informazioni sul loro contenuto iniziale o di stile che è dato da altri dati. Ad esempio, un'applicazione può utilizzare i dati per la creazione di impostare l'intervallo per un controllo barra di scorrimento e l'impostazione iniziale.