DLGTEMPL: Creating Dialog Templates Dynamically

Click to open or copy the DLGTEMPL project files.

The DLGTEMPL sample shows how to create a dialog template dynamically and use the template with CDialog::InitModalIndirect. The sample displays a dialog box for selecting the height, width, and other attributes of a button, static text, and multiline edit control, then displays the resulting dialog box using templates in memory.

The bulk of the code for dynamically creating a dialog is found in the CMyDialogTemplate::DemoIt member function. DLGTEMPL does not prevent you from entering values that lay one control over another, nor does it prevent you from positioning a control beyond the boundary of the dialog. You can experiment with DLGTEMPL to see the effects of resizing and overlaying controls.

For more information on dialog templates, see the class CDialog and the Windows structures DLGTEMPLATE and DLGITEMTEMPLATE in the Win32 SDK.

Running the Sample

When you run DLGTEMPL, it displays a dialog box in which you select Button, Edit, or Text. Type the desired values for height, width, and X and Y coordinates for placement on the resulting dialog box, and a caption to be displayed. Click Show Dialog to display a dynamically created dialog box based on the values you enter.