README.TXT
Common Dialogs 
 
 
SUMMARY 
======= 
 
The CDTest sample demonstrates how to use the common dialog boxes provided  
in the Win32 API. In addition to displaying each default dialog box, the  
sample also allows you to modify the parameters passed to the functions to  
create variations of the common dialog boxes. 
 
MORE INFORMATION 
================ 
 
The CDTest sample dialog box makes use of the following controls: 
 
  - The NULL structure check box. 
 
    If you check this box, CDTest sends a NULL value for the common dialog  
    box creation structure to the common dialog box function. The common  
    dialog box should fail at startup. The common dialog box function  
    should return FALSE and set the correct CommDlgExtendedError. 
 
  - The Preloaded Template check box(es) 
 
    If you check this box, CDTest preloads a custom template resource and  
    puts the value of the handle to the resource in the hInstance member of  
    the common dialog box structure. CDTest does not create a custom 
    template dialog box with this preloaded custom template unless you  
    also put the XXX_ENABLETEMPLATEHANDLE flag in the Flags box. For  
    example, to create a GetOpenFileName dialog box with a multiple 
    selection files list box and a preloaded custom dialog box template,  
    put the following in the Flags box:  
 
        OFN_ENABLETEMPLATEHANDLE | OFN_ALLOWMULTISELECT  
 
    Check the Preloaded Template box. 
 
  - The Reset button. 
 
    The Reset button sets all the values for the common dialog box creation  
    structure back to the default values. 
 
  - The Add and Clear buttons. 
 
    These buttons are used to edit arrays that might be needed in common  
    dialog box creation. The Clear button clears the whole array. The Add  
    button adds what you have typed into the edit control of the combo box  
    to the left of these buttons. 
 
  - The Multithread buttons. 
 
    These buttons create two threads and two dialog boxes. 
 
There is no way to create a NULL pointer as a value to be used for one of  
the dialog box elements that require a string pointer, such as the  
lpstrFile element of the GetOpenFileName structure. If you leave this field  
blank, CDTest will call GetOpenFileName with a valid pointer to a string  
containing a NULL character as its first value. 
 
Notes: 
 
  - ChooseFont dialog box. 
 
    When you open the ChooseFont dialog box, you see a list of flags and  
    fonts on the right of the vertical dividing line. These do not affect  
    the ChooseFont dialog box creation. These only exist to allow the user  
    to compare the fonts found by ChooseFont with a list of fonts found  
    independently of ChooseFont. The lists should be identical when the  
    same flags are used.  
 
    If you want printer fonts to be listed in the ChooseFont dialog box, you  
    have to mark the Printer radio button in the "HDC Type" group. 
 
    The ChooseFont dialog box is designed to give you a "No fonts found"  
    error if you don't include the CF_SCREENFONTS or CF_PRINTERFONTS flag  
    as part of the value in the Flags box.  
 
  - Open/Save dialog box. 
 
    If you want to create a custom template dialog box with the  
    OFN_ENABLETEMPLATE flag, you need to specify the name of the template  
    in the lpTemplateName structure field. The names are: 
 
      - opentemp1 (single selection files list box) 
      - opentemp2 (multiple selection files list box) 
 
  - Find/Replace dialog box. 
 
    If you want to create a custom template dialog box with the  
    FR_ENABLETEMPLATE flag, you need to specify the name of the template 
    in the lpTemplateName structure field. The names are: 
 
      - frtemp1 (find template) 
      - frtemp2 (replace template)