DLGTEMPL Sample: Creates Dialog Templates Dynamically

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 Windows SDK.

Security noteSecurity Note

This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.

To get samples and instructions for installing them:

To access samples from Visual Studio

  • On the Help menu, click Samples.

    By default, these samples are installed in drive:\Program Files\Microsoft Visual Studio 10.0\Samples\.

  • For the most recent version of this sample and a list of other samples, see Visual Studio Samples on the MSDN Web site.

To build and run the DLGTEMPL sample

  1. Open the solution dlgtempl.sln.

  2. On the Build menu, click Build.

  3. On the Debug menu, click Start Without Debugging.

When you run DLGTEMPL, it displays a dialog box in which you select Button, Edit, or Text. Enter 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. Press ESCAPE to close the dialog box.

Other Resources