Diff of /docs/trunk/oodialog/en-US/shellObjects.xml [000000] .. [r9438]  Maximize  Restore

  Switch to side-by-side view

--- a
+++ b/docs/trunk/oodialog/en-US/shellObjects.xml
@@ -0,0 +1,7729 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "oodialog.ent">
+%BOOK_ENTITIES;
+]>
+<!--#########################################################################
+    #
+    # Description: Open Object Rexx: ooDialog Reference XML file.
+    #
+    # Copyright (c) 2013-2013 Rexx Language Association. All rights reserved.
+    #
+    # This program and the accompanying materials are made available under
+    # the terms of the Common Public License v1.0 which accompanies this
+    # distribution. A copy is also available at the following address:
+    # http://www.oorexx.org/license.html
+    #
+    # Redistribution and use in source and binary forms, with or
+    # without modification, are permitted provided that the following
+    # conditions are met:
+    #
+    # Redistributions of source code must retain the above copyright
+    # notice, this list of conditions and the following disclaimer.
+    # Redistributions in binary form must reproduce the above copyright
+    # notice, this list of conditions and the following disclaimer in
+    # the documentation and/or other materials provided with the distribution.
+    #
+    # Neither the name of Rexx Language Association nor the names
+    # of its contributors may be used to endorse or promote products
+    # derived from this software without specific prior written permission.
+    #
+    # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+    # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+    # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+    # OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+    # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+    # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+    # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    #
+    #########################################################################
+-->
+<chapter id="chpShellObjects" xreflabel="Shell Objects"><title>Shell Objects</title>
+<indexterm><primary>shell objects</primary></indexterm>
+<para>
+  xx
+</para>
+<para>
+  xxx
+</para>
+
+
+<section id="sctShellobjectsList"><title>Shell Object Classes Table</title>
+
+<para>
+  The ooDialog classes and routines for working with shell objects are listed the following table:
+</para>
+<table id="tShellClasses" frame="all">
+<title>The ooDialog Shell Object Classes</title>
+<tgroup cols="2">
+<colspec colwidth="11*" />
+<colspec colwidth="32*" />
+<thead>
+<row>
+<entry>Class</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><xref linkend="clsBrowseForFolder"/> class</entry>
+<entry>Provides access to the Windows <emphasis role="italic">Browse For Folder</emphasis> dialog, allowing complete configuration of the dialog.</entry>
+</row>
+<row>
+<entry><xref linkend="clsSimpleFolderBrowse"/> class</entry>
+<entry>Allows the display of a simple to use, but non-configurable, Windows <emphasis role="italic">Browse For Folder</emphasis> dialog.</entry>
+</row>
+<row>
+<entry><xref linkend="rtnSimpleFolderBrowse"/> routine</entry>
+<entry>A short cut routine for the <computeroutput>SimpleFolderBrowse</computeroutput> dialog.</entry>
+</row>
+</tbody></tgroup>
+</table>
+
+</section>
+<section id="sctShellCOMConsiderations"><title>Shell / COM considerations</title>
+<indexterm><primary>BrowseForFolder class</primary><secondary>Shell / COM considerations</secondary></indexterm>
+
+<para>
+  The browse for folder dialog is part of the Windows Shell. Shell objects are implemented using COM (the Component Object
+  Model, a standard introduced by Microsoft.) The Windows Shell should not be confused with the Windows window manager, which
+  is responsible for the windowing system in Windows. ooDialog is primarily concerned with, and deals with, the windowing
+  system. However, in a modern Windows system, not all tasks can be done through the windowing system. Selecting or choosing
+  a folder is an example of task that is not done through the window manager.
+</para>
+<para>
+  In general, the Rexx programmer can work with the <computeroutput>BrowseForFolder</computeroutput> class in the same way as
+  working with any other ooDialog dialog classes. However, because the underlying Windows object is a COM object rather than
+  the usual windowing system window, there are a few considerations the programmer needs to be aware of.
+</para>
+<variablelist>
+  <varlistentry id="varCOMLibrary" xreflabel="COM library"><term><emphasis role="bold">COM Library / Threading:</emphasis></term>
+  <listitem>
+  <para>
+    The use of COM objects requirers that the COM library be initialized and released for <emphasis
+    role="italic">each</emphasis> thread that a COM object is used in. Normally the Rexx programmer does not need to be much
+    aware of threading and thread issues. However the COM requiement that the library be initialized and released on each
+    thread changes that. The normal usage pattern for a browse for folder object would be:
+  </para>
+  <itemizedlist>
+  <listitem>
+  <para>
+    <emphasis role="italic">Instantiate a <computeroutput>BrowseForFolder</computeroutput> object.</emphasis>
+  </para>
+  </listitem>
+  <listitem>
+  <para>
+    Configure the browse for folder object.
+  </para>
+  </listitem>
+  <listitem>
+  <para>
+    Show the dialog and get the user's selection.
+  </para>
+  </listitem>
+  </itemizedlist>
+  <para>
+    As long as this is all done on one thread, there is no problem. The ooDialog framework initializes COM when the object is
+    instantiated and releases COM when the underlying dialog is closed, that is when the <xref linkend="mthGetFolder"/> or
+    <xref linkend="mthGetItemIDList"/> method returns. However, if the programmer wants, or needs, to implement a different
+    usage pattern, then it becomes the programmer's responsibility to ensure that COM is initialized and released properly on
+    each thread. The <computeroutput>BrowseForFolder</computeroutput> class provides the tools the programmer needs to do
+    that. If COM is not initialized on a thread the browse for folder object is running on, then methods invoked on the
+    object may fail. If COM is not released on a thread it <emphasis role="italic">was</emphasis> initialized on, then system
+    resource leaks can occur.
+  </para>
+  <para>
+    This is not that complicated and is not really that different than other areas of ooDialog concerning system resources. If
+    the programmer wants to use a different font for a dialog control, the <xref linkend="mthSetFont"/> method will fail unless
+    the programmer has first initialized a font. If the programmer initializes a font using the <xref
+    linkend="mthCreateFontEx"/> method and does not release the font, then system resource leaks can ocurr. The only difference
+    here is that this <emphasis role="italic">initialize / release</emphasis> cycle is on a per thread basis.
+  </para>
+  <para>
+    The documentation for the individual attributes and methods of the <computeroutput>BrowseForFolder</computeroutput> class
+    will make note of when the programmer needs to consider these threading issues when using the attribute or method. In
+    addition, the <xref linkend="clsSimpleFolderBrowse"/> class provides an interface to the Browse For Folder dialog where
+    the Rexx programmer does not need to be aware of COM.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry id="varItemIDList" xreflabel="item ID list"><term><emphasis role="bold">Item ID List</emphasis></term>
+  <listitem>
+  <para>
+    The Windows Shell identifies objects in the Shell using a device called an item ID list. Files, folders, printers,
+    remote computers all have an item ID list that is used to uniquely identify them to the Shell. The ooDialog programmer
+    does not really need to know about the details of these item ID lists. However, it is difficult to document the
+    <computeroutput>BrowseForFolder</computeroutput> class without making references to an item ID list. Although technically
+    incorrect, the programmer can just think of them as <link linkend="defHandle">handles</link>.
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+
+</section> <!-- End Shell / COM considerations section -->
+
+
+<section id="sctSpecialFolderNames" xreflabel="Special Folder Names"><title>Special Folder Names</title>
+<indexterm><primary>BrowseForFolder</primary><secondary>Special Folder Names</secondary></indexterm>
+<indexterm><primary>SimpleFolderBrowse</primary><secondary>Special Folder Names</secondary></indexterm>
+
+<para>
+  Windows uses CSIDL (constant special item ID list) names to provide a unique system-independent way to identify special
+  folders used frequently by applications. These folders may not have the same name or location on any given system. For
+  example, the system folder may be <emphasis role="italic">C:\Windows</emphasis> on one system and <emphasis
+  role="italic">C:\Winnt</emphasis> on another.
+</para>
+<para>
+  In Windows Vista and later the CSIDL values have been replaced by Known Folder values, but for compatibility the CSIDL
+  values still work. ooDialog does not yet support the known folder values, only the CSIDL names. Some of the methods of the
+  <computeroutput>BrowseForFolder</computeroutput> class and the <xref linkend="clsSimpleFolderBrowse"/> class accept the
+  CSIDL names listed below for arguments. Future enhancements to ooDialog may also accept the CSIDL names, so they are listed
+  here in one place. The names are not case sensitive, but are otherwise spelled exactly as Microsoft does. Google can be
+  used to research any of the names further. Only the names listed are recognized in ooDialog.
+</para>
+
+<variablelist>
+  <varlistentry><term>CSIDL_ADMINTOOLS:</term>
+  <listitem>
+  <para>
+    The file system directory that is used to store administrative tools for an individual user.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_ALTSTARTUP:</term>
+  <listitem>
+  <para>
+    The file system directory that corresponds to the user's nonlocalized Startup program group. This value is recognized in
+    Windows Vista for backward compatibility, but the folder itself no longer exists.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_APPDATA:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for application-specific data.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_BITBUCKET:</term>
+  <listitem>
+  <para>
+    The virtual folder that contains the objects in the user's Recycle Bin.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_CDBURN_AREA:</term>
+  <listitem>
+  <para>
+    The file system directory that acts as a staging area for files waiting to be written to a CD.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_ADMINTOOLS:</term>
+  <listitem>
+  <para>
+    The file system directory that contains administrative tools for all users of the computer.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_ALTSTARTUP:</term>
+  <listitem>
+  <para>
+    The file system directory that corresponds to the nonlocalized Startup program group for all users. Valid only for
+    Microsoft Windows NT systems. This value is recognized in Windows Vista for backward compatibility, but the folder itself
+    no longer exists.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_APPDATA:</term>
+  <listitem>
+  <para>
+    The file system directory that contains application data for all users. This folder is used for application data that is not user specific. For example, an application can
+    store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. This
+    information will not roam and is available to anyone using the computer.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_DESKTOPDIRECTORY:</term>
+  <listitem>
+  <para>
+    The file system directory that contains files and folders that appear on the desktop for all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_DOCUMENTS:</term>
+  <listitem>
+  <para>
+    The file system directory that contains documents that are common to all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_FAVORITES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for favorite items common to all users
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_MUSIC:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a repository for music files common to all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_OEM_LINKS:</term>
+  <listitem>
+  <para>
+    This value is recognized in Windows Vista for backward compatibility, but the folder itself is no longer used.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_PICTURES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a repository for image files common to all users
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_PROGRAMS:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the directories for the common program groups that appear on the Start menu for
+    all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_STARTMENU:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the programs and folders that appear on the Start menu for all users
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_STARTUP:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the programs that appear in the Startup folder for all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_TEMPLATES:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the templates that are available to all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMMON_VIDEO:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a repository for video files common to all users.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COMPUTERSNEARME:</term>
+  <listitem>
+  <para>
+    The folder that represents other computers in your workgroup.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_CONNECTIONS:</term>
+  <listitem>
+  <para>
+    The virtual folder that represents Network Connections, that contains network and dial-up connections.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_CONTROLS:</term>
+  <listitem>
+  <para>
+    The virtual folder that contains icons for the Control Panel applications.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_COOKIES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for Internet cookies.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_DESKTOP:</term>
+  <listitem>
+  <para>
+    The virtual folder that represents the Windows desktop, the root of the namespace.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_DESKTOPDIRECTORY:</term>
+  <listitem>
+  <para>
+    The file system directory used to physically store file objects on the desktop (not to be confused with the desktop
+    folder itself.)
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_DRIVES:</term>
+  <listitem>
+  <para>
+    The virtual folder that represents My Computer, containing everything on the local computer: storage devices, printers,
+    and Control Panel.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_FAVORITES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for the user's favorite items.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_FONTS:</term>
+  <listitem>
+  <para>
+    A virtual folder that contains fonts.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_HISTORY:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for Internet history items.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_INTERNET:</term>
+  <listitem>
+  <para>
+    A virtual folder for Internet Explorer.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_INTERNET_CACHE:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for temporary Internet files
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_LOCAL_APPDATA:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a data repository for local (nonroaming) applications.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_MYDOCUMENTS:</term>
+  <listitem>
+  <para>
+    The virtual folder that represents the My Documents desktop item.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_MYMUSIC:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for music files.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_MYPICTURES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for image files.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_MYVIDEO:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for video files
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_NETHOOD:</term>
+  <listitem>
+  <para>
+    A file system directory that contains the link objects that may exist in the My Network Places virtual folder. It is not
+    the same as CSIDL_NETWORK, which represents the network namespace root.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_NETWORK:</term>
+  <listitem>
+  <para>
+    A virtual folder that represents Network Neighborhood, the root of the network namespace hierarchy.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PERSONAL:</term>
+  <listitem>
+  <para>
+    The virtual folder that represents the My Documents desktop item.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PRINTERS:</term>
+  <listitem>
+  <para>
+    The virtual folder that contains installed printers.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PRINTHOOD:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the link objects that can exist in the Printers virtual folder.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROFILE:</term>
+  <listitem>
+  <para>
+    The user's profile folder. Applications should not create files or folders at this level; they should put their data
+    under the locations referred to by CSIDL_APPDATA or CSIDL_LOCAL_APPDATA.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROGRAM_FILES:</term>
+  <listitem>
+  <para>
+    The Program Files folder.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROGRAM_FILES_COMMON:</term>
+  <listitem>
+  <para>
+    A folder for components that are shared across applications.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROGRAM_FILES_COMMONX86:</term>
+  <listitem>
+  <para>
+    Listed in the MSDN documentation with no explanation.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROGRAM_FILESX86:</term>
+  <listitem>
+  <para>
+    Listed in the MSDN documentation with no explanation.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_PROGRAMS:</term>
+  <listitem>
+  <para>
+    The file system directory that contains the user's program groups (which are themselves file system directories.)
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_RECENT:</term>
+  <listitem>
+  <para>
+    The file system directory that contains shortcuts to the user's most recently used documents.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_RESOURCES:</term>
+  <listitem>
+  <para>
+    Windows Vista. The file system directory that contains resource data.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_RESOURCES_LOCALIZED:</term>
+  <listitem>
+  <para>
+    Listed in the MSDN documentation with no explanation.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_SENDTO:</term>
+  <listitem>
+  <para>
+    The file system directory that contains Send To menu items.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_STARTMENU:</term>
+  <listitem>
+  <para>
+    The file system directory that contains Start menu items.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_STARTUP:</term>
+  <listitem>
+  <para>
+    The file system directory that corresponds to the user's Startup program group. The system starts these programs whenever
+    any user logs onto Windows.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_SYSTEM:</term>
+  <listitem>
+  <para>
+    The Windows System folder.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_SYSTEMX86:</term>
+  <listitem>
+  <para>
+    Listed in the MSDN documentation with no explanation.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_TEMPLATES:</term>
+  <listitem>
+  <para>
+    The file system directory that serves as a common repository for document templates
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term>CSIDL_WINDOWS:</term>
+  <listitem>
+  <para>
+    The Windows directory or SYSROOT. This corresponds to the %windir% or %SYSTEMROOT% environment variables.
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+
+</section> <!-- End Special Folder Names section -->
+
+<section id="clsBrowseForFolder" xreflabel="BrowseForFolder"><title>BrowseForFolder Class</title>
+<indexterm><primary>BrowseForFolder class</primary></indexterm>
+<para>
+  A BrowseForFolder object represents the Windows <emphasis role="italic">Browse For Folder</emphasis> common dialog. The
+  Windows operating system provides a number of common dialogs for use by applications to allow presenting the user with an
+  unified generic method to do common tasks. The purpose of the Browse For Folder dialog is specifically to allow the user to
+  open or choose folders.
+</para>
+
+<section id="sctMethodsBrowseForFolder"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>BrowseForFolder</computeroutput> class:
+
+<table id="tblMethodsBrowseForFolder" frame="all"> <title>BrowseForFolder Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1*" />
+<colspec colwidth="4*" />
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry><xref linkend="mthNewClsBrowseForFolder"/></entry>
+<entry>Instantiates a new <computeroutput>BrowseForFolder</computeroutput> object</entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Attribute Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Attribute Methods</emphasis></entry>
+</row>
+<row>
+<entry><xref linkend="atrBanner"/> </entry>
+<entry>Reflects the banner text for this browse for folder object.</entry>
+</row>
+<row>
+<entry><xref linkend="atrDlgTitle"/> </entry>
+<entry>Reflects the title to be used in the browse for folder dialog.</entry>
+</row>
+<row>
+<entry><xref linkend="atrHint"/> </entry>
+<entry>Reflects the hint text to be used in the browse for folder dialog</entry>
+</row>
+<row>
+<entry><xref linkend="atrInitialThread"/></entry>
+<entry>Reflects the thread ID of the thread this browse for folder object was instantiated on.</entry>
+</row>
+<row>
+<entry><xref linkend="atrOptions"/> </entry>
+<entry>Reflects the Browse For Folder dialog options set for this object.</entry>
+</row>
+<row>
+<entry><xref linkend="atrOwner"/> </entry>
+<entry>Reflects the Rexx dialog that is the owner of this browse for folder dialog. By default there is no owner.</entry>
+</row>
+<row>
+<entry><xref linkend="atrRoot"/> </entry>
+<entry>Reflects the folder that will be set as the root folder of the tree-view control in the browse for folder dialog.</entry>
+</row>
+<row>
+<entry><xref linkend="atrStartDir"/> </entry>
+<entry>Reflects a directory, a folder, that should be pre-selected when the browse for folder dialog first opens.</entry>
+</row>
+<row>
+<entry><xref linkend="atrUsePathForHint"/> </entry>
+<entry>Reflects the status of the internal flag controlling whether the hint text should be set to the selected folder's path.</entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+<row>
+<entry><xref linkend="mthGetDisplayName"/> </entry>
+<entry>Returns the display name for an item <link linkend="varItemIDList">ID</link> list.</entry>
+</row>
+<row>
+<entry><xref linkend="mthGetFolder"/> </entry>
+<entry>Shows the browse for folder dialog configured as defined by the current values of the attributes of this object.</entry>
+</row>
+<row>
+<entry><xref linkend="mthGetItemIDList"/> </entry>
+<entry>Shows the browse for folder dialog and retrieves the item <link linkend="varItemIDList">ID</link> list the user picks.</entry>
+</row>
+<row>
+<entry><xref linkend="mthInitCOM"/> </entry>
+<entry>Initializes the COM <link linkend="varCOMLibrary">library</link> on the current thread.</entry>
+</row>
+<row>
+<entry><xref linkend="mthReleaseCOM"/> </entry>
+<entry>Releases the COM <link linkend="varCOMLibrary">library</link> on the current thread.</entry>
+</row>
+<row>
+<entry><xref linkend="mthReleaseItemIDList"/> </entry>
+<entry></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthNewClsBrowseForFolder" xreflabel="new"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>BrowseForFolder class</secondary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+---------+--+----------+--+--------+--+------------+--)-------------><
+          +--title--+  +-,-banner-+  +-,-hint-+  +-,-startDir-+
+]]>
+</programlisting>
+
+<para>
+  Instantiates a new <computeroutput>BrowseForFolder</computeroutput> object.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>title [optional]</term>
+    <listitem>
+    <para>
+      Specifies a caption, or title, for the dialog. The Windows default title is <emphasis role="italic">Browse For
+      Folder</emphasis>. If this argument is used, the <xref linkend="atrDlgTitle"/> attribute is set using the value
+      specified.
+    </para>
+    <para>
+      If this argument is omitted, the default ooDialog value, <emphasis role="italic">ooDialog Browse for Folder</emphasis>,
+      is set for the <emphasis role="italic">dlgTitle</emphasis> attribute. To prevent the ooDialg default value from being
+      used and have the Windows default used, set this argument to the <computeroutput>.nil</computeroutput> object, or to the empty string.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>banner [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for what Windows calls the <emphasis role="italic">banner</emphasis> for the dialog.  This string
+      is displayed above the tree view control in the dialog box. The string can be used to specify instructions to the user.
+      By default, Windows, does not display the banner and the area above the tree view is blank. If this argument is
+      used, the <xref linkend="atrBanner"/> attribute is set to the value specified.
+    </para>
+    <para>
+      If this argument is omitted, the default ooDialog value, <emphasis role="italic">Select the folder needed</emphasis>,
+      is set for the <emphasis role="italic">banner</emphasis> attribute. To prevent the ooDialg default value from being
+      used and have the Windows default used, set this argument to the <computeroutput>.nil</computeroutput> object, or to
+      the empty string.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>hint [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for a <emphasis role="italic">hint</emphasis> in the dialog. The hint is displayed below the
+      bottom of the tree view control and above the bottom row of buttons of the dialog. By default, Windows does not display
+      a hint, and the area where the hint would go is removed from the dialog. That is, the bottom row of buttons is placed
+      directly below the tree view. If this argument is used, the <xref linkend="atrHint"/> attribute is set to the value
+      specified.
+    </para>
+    <para>
+      If this argument is omitted, the default ooDialog value, <emphasis role="italic">If the needed folder does not exist it
+      can be created</emphasis>, is set for the <emphasis role="italic">hint</emphasis> attribute. To prevent the ooDialg
+      default value from being used and have the Windows default used, set this argument to the
+      <computeroutput>.nil</computeroutput> object, or to the empty string.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>startDir [optional]</term>
+    <listitem>
+    <para>
+      Specifies an initial selected folder for the dialog. By default, Windows opens the dialog with the top-most item in the
+      tree view selected. If a start folder is specified, the folder is selected and, if needed, the tree view items are
+      expanded and the tree view is scrolled so that the starting folder is visible in the tree view. If this argument is
+      used, the <xref linkend="atrStartDir"/> attribute is set to the value specified.
+    </para>
+    <para>
+      Testing indicates that the folder specified must be a fully qualified path name of an existing directory. If not, the
+      operating system seems to just ignore it.
+    </para>
+    <para>
+      If this argument is omitted, the ooDialog framework sets the <emphasis role="italic">startDir</emphasis> attribute to
+      the empty string. The causes Windows to use its default behaviour.
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns a newly instantiated <computeroutput>BrowseForFolder</computeroutput> object.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    During instantiation, the <xref linkend="atrOptions"/>, <xref linkend="atrRoot"/>. and the <xref
+    linkend="atrInitialThread"/> attributes are also set.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect arguments are detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example instantiates a new <computeroutput>BrowseForFolder</computeroutput> object with a title, banner, and hint:
+<programlisting>
+<![CDATA[
+
+  -- Set title, banner, and a hint for the dialog.
+  title  = 'Browse For a Printer'
+  banner = 'Select the printer to use for this test.'
+  hint   = 'This is only a demonstration, no printing will be done.'
+
+  bff = .BrowseForFolder~new(title, banner, hint)
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::new() -->
+
+<section id="atrBanner" xreflabel="banner"><title>banner (Attribute)</title>
+<indexterm><primary>banner</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>banner</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--banner---------------------------------------><
+
+>>--banner = text--------------------------------><
+]]>
+</programlisting>
+
+<para>
+  Reflects the banner text for this browse for folder object. The <emphasis role="italic">banner</emphasis> is an area above
+  the tree-view control in the dialog that can be used to display a few lines of text. By default, Windows leaves this area
+  blank.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">banner get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the banner text for this object, or the empty string if the Windows default behaviour for the banner is to be
+    used.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">banner set:</emphasis></term>
+  <listitem>
+  <para>
+    To use a non-default banner, set this attribute to the text desired. To specify that the default Windows behaviour
+    regarding the banner be used, set this attribute to the empty string or to the <computeroutput>.nil</computeroutput>
+    object.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    By default, the text, <emphasis role="italic">Select the folder needed</emphasis> is set for the banner by the ooDialog
+    framework. By default, Windows will not use a baner. To use the Windows default behaviour rather than the ooDialog
+    default banner, set the <emphasis role="italic">banner</emphasis> attributed to the empty string, or the the
+    <computeroutput>.nil</computeroutput> object.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example example configures a browse for folder object to not display a banner:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new('Choose the Backup Folder')
+  bff~banner = .nil
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::banner() [attribute]  -->
+
+<section id="atrDlgTitle" xreflabel="dlgTitle"><title>dlgTitle (Attribute)</title>
+<indexterm><primary>dlgTitle</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>dlgTitle</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--dlgTitle-------------------------------------><
+
+>>--dlgTitle = title-----------------------------><
+]]>
+</programlisting>
+
+<para>
+  Reflects the title to be used in the browse for folder dialog.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">dlgTitle get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the text to be used for the dialog title, or the empty string if the Windows default title will be used.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">dlgTitle set:</emphasis></term>
+  <listitem>
+  <para>
+    Set this attribute to the title desired for the dialog, if the ooDialog default is not desired. Set this attribute to the
+    empty string or to the <computeroutput>.nil</computeroutput> object to specify that the Windows default title be used.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    By default the ooDialog framework sets the <emphasis role="italic">dlgTitle</emphasis> attribute to <emphasis
+    role="italic">ooDialog Browse for Folder</emphasis>. The Windows default title is <emphasis role="italic">Browse fo
+    Folder.</emphasis> To have the dialog use the Windows default, set this attribute to the empty string or the
+    <computeroutput>.nil</computeroutput> object.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example instantiates a browse for folder dialog and then sets a custom title for the dialog:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+  bff~dlgTitle ='Choose the Backup Folder'
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::dlgTitle() [attribute]  -->
+
+<section id="atrHint" xreflabel="hint"><title>hint (Attribute)</title>
+<indexterm><primary>hint</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>hint</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--hint-----------------------------------------><
+
+>>--hint = hint----------------------------------><
+]]>
+</programlisting>
+
+<para>
+  Reflects the hint text to be used in the browse for folder dialog. The <emphasis role="italic">hint</emphasis> is an area
+  between the bottom of the tree-view and above the bottom rows of buttons that can be used to display a line of text. By
+  default, Windows removes this area from the dialog.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">hint get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the text of the hint for this browse for folder dialog. Returns the empty string if no hint is to be displayed.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">hint set:</emphasis></term>
+  <listitem>
+  <para>
+    Set this attribute to the text to display in the hint area, if the default ooDialog hint is not appropriate. Set this
+    attribute to the empty string or the <computeroutput>.nil</computeroutput> object to restore the default Windows
+    behaviour, which is to remove the hint area altogether.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    By default, the ooDialog framework sets this attribute to <emphasis role="italic">If the needed folder does not exist it
+    can be created</emphasis>. To prevent this text being used, either set the <emphasis role="italic">hint</emphasis>
+    attriubte to the text desired, or set it to the empty string to remove the hint area altogether.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example instantiates a browse for folder object and then sets the hint to text that informs the user what to do:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+  bff~hint ='Choose the folder to place your back up files in.'
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::hint() [attribute]  -->
+
+<section id="atrInitialThread" xreflabel="initialThread"><title>initialThread (Attribute)</title>
+<indexterm><primary>initialThread</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>initialThread</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--initialThread--------------------------------><
+]]>
+</programlisting>
+
+<para>
+  Reflects the thread ID of the thread this browse for folder object was instantiated on.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">initialThread get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the thread ID for the thread that this object was instantiated on.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">initialThread set:</emphasis></term>
+  <listitem>
+  <para>
+    The <emphasis role="italic">initialThread</emphasis> attribute can not be set by the programmer. It is set by the
+    ooDialog framework and can not be changed.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    When the browse for folder dialog is first instantiated, the ooDialog framework <link
+    linkend="varCOMLibrary">initializes</link> the COM library on the thread that is executing and records the
+    thread ID in the <emphasis role="italic">initialThread</emphasis> attribute. If the application makes use of the browse
+    for folder object in multiple threads, the value of the initial thread ID is helpful in determining if the COM library
+    needs to be initialized or not on the currently executing thread. The <xref linkend="mthThreadID"/> method of the <xref
+    linkend="clsDlgUtil"/> class can be used to determine the ID of the currently executing.
+  </para>
+  <para>
+    The recomendation is that the browse for folder dialog should be instantiated, used, and disposed of all on the same
+    thread. However, if the programmer has a need, or even just the desire, to use the browse for folder object on multiple
+    threads, there is no reason why that can not be done. The programmer just needs to manage the initialization and release
+    of the COM library herself.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example shows a browse for folder object that is reused for the life-time of the dialog.  In the onBrowse() method,
+    if the method is not running on the same thread as the BrowseForFolder object was instantiated on, then COM is
+    initialized and released each time the object is used.  If it is the same thread, COM is not initialized and not
+    released.
+  </para>
+  <para>
+    Finally, during the leaving() method, if the method is running on the same thread as the browse for folder was
+    instantiated on, the item <link linkend="varItemIDList">ID</link> list and COM are released.
+  </para>
+  <para>
+    Note that this example does run correctly. But, if it were to turn out that the leaving() method was not running on the
+    same thread as the define() method had run on, then COM and the item ID list would not be released correctly. It was only
+    after some testing that it was determined that the program ran correctly:
+<programlisting>
+<![CDATA[
+
+::method defineDialog
+  expose bff pidl
+
+  ...
+
+  say 'defineDialog() thread ID' .DlgUtil~threadID
+  say
+  bff = .BrowseForFolder~new
+  bff~usePathForHint = .true
+  bff~hint = ''
+
+  pidl = .nil
+
+::method onBrowse unguarded
+  expose bff pidl
+
+  say 'onBrowse() thread:' .DlgUtil~threadID
+  say
+
+  newThread = (bff~initialThread == .DlgUtil~threadID)
+
+  if newThread then bff~initCOM
+
+  if pidl \== .nil then bff~releaseItemIDList(pidl)
+  if bff~owner \== .nil then bff~owner = self
+
+  pidl = bff~getItemIDList(.true)
+
+  if pidl \== .nil then say 'The user picked:' bff~getDisplayName(pidl)
+  else say 'The user canceled'
+  say
+
+  if newThread then bff~releaseCOM
+
+  return 0
+
+::method leaving unguarded
+  expose bff pidl
+
+  if bff~initialThread == .DlgUtil~threadID then do
+      say 'leaving() thread ID' .DlgUtil~threadID
+      if pidl \== .nil then bff~releaseItemIDList(pidl)
+      bff~releaseCOM
+  end
+
+/* Output from a typical session:
+
+defineDialog() thread ID 4032
+
+onBrowse() thread: 3320
+
+The user picked: C:\Rexx\ooRexx.3.0.0.release
+
+onBrowse() thread: 3320
+
+The user canceled
+
+onBrowse() thread: 3320
+
+The user picked: U:\PictureFiles
+
+leaving() thread ID 4032
+
+*/
+
+]]>
+</programlisting>
+  </para>
+  <para>
+    The recommendation is to simply instantiate a browse for folder object, use it, and dispose of it. The above example
+    could have just as easily, and perhaps more easily, been written this way:
+
+<programlisting>
+<![CDATA[
+
+::method defineDialog
+
+  ...
+
+  say 'defineDialog() thread ID' .DlgUtil~threadID
+  say
+  return 0
+
+
+::method onBrowse unguarded
+
+  say 'onBrowse() thread:' .DlgUtil~threadID
+  say
+
+  bff = .BrowseForFolder~new
+  bff~usePathForHint = .true
+  bff~hint = ''
+  bff~owner = self
+
+  pidl = bff~getItemIDList(.true)
+
+  if pidl \== .nil then say 'The user picked:' bff~getDisplayName(pidl)
+  else say 'The user canceled'
+  say
+
+  if pidl \== .nil then bff~releaseItemIDList(pidl)
+  bff~releaseCOM
+
+  return 0
+
+::method leaving unguarded
+
+  say 'leaving() thread ID' .DlgUtil~threadID
+  return 0
+
+/* Output from a typical session:
+
+defineDialog() thread ID 3580
+
+onBrowse() thread: 3960
+
+The user picked: C:\Rexx\ooRexx.3.2.0.debug
+
+onBrowse() thread: 3960
+
+The user picked: U:\MovieFiles\2013\Santa Fe New Mexico
+
+onBrowse() thread: 3960
+
+The user canceled
+
+onBrowse() thread: 3960
+
+The user picked: C:\Tools\TortoiseSVN
+
+leaving() thread ID 3580
+
+*/
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::initialThread() [attribute]  -->
+
+<section id="atrOptions" xreflabel="options"><title>options (Attribute)</title>
+<indexterm><primary>options</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>options</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--options--------------------------------------><
+
+>>--options = keywords---------------------------><
+
+]]>
+</programlisting>
+
+<para>
+  Reflects the Browse For Folder dialog options set for this object.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">options get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns a list of the keywords that specify the Browse For Folder dialog options that are currently set for this object.
+    The kewyords are listed and explained in the remarks section.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">options set:</emphasis></term>
+  <listitem>
+  <para>
+    Set the Browse For Folder dialog options using a blank separated list of keywords. The list is case insensitive. The
+    possible keywords are listed in the remarks section.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    On instantiation, the Browse For Folder dialog options are set to a default value that is appropriate for most use cases.
+    The default options are <emphasis role="italic">RETURNONLYFSDIRS RETURNFSANCESTORS NEWDIALOGSTYLE</emphasis>. To change
+    these options after instantiations, set this attribute using a list of 0 or more of the following keywords, case is not
+    significant. The list <emphasis role="italic">replaces</emphasis> the current list, with one caveat. The ooDialog
+    framework manages the NEWDIALOGSTYLE and UAHINT options. The NEWDIALOGSTYLE is required. If the new list does not
+    contain that keyword it is added. The UAHINT option is added when needed, and removed when not needed.
+  </para>
+  <para>
+    <simplelist type='vert' columns='3'>
+      <member>BROWSEFILEJUNCTIONS</member>
+      <member>BROWSEFORCOMPUTER  </member>
+      <member>BROWSEFORPRINTER   </member>
+      <member>BROWSEINCLUDEFILES </member>
+      <member>BROWSEINCLUDEURLS  </member>
+      <member>DONTGOBELOWDOMAIN  </member>
+      <member>NEWDIALOGSTYLE     </member>
+      <member>NONEWFOLDERBUTTON  </member>
+      <member>NOTRANSLATETARGETS </member>
+      <member>RETURNFSANCESTORS  </member>
+      <member>RETURNONLYFSDIRS   </member>
+      <member>SHAREABLE          </member>
+      <member>UAHINT             </member>
+    </simplelist>
+    <variablelist>
+      <varlistentry><term>BROWSEFILEJUNCTIONS</term>
+      <listitem>
+      <para>
+        Allows folder junctions like zip files and libraries to be browsed.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>BROWSEFORCOMPUTER</term>
+      <listitem>
+      <para>
+        Only return computers.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>BROWSEFORPRINTER</term>
+      <listitem>
+      <para>
+        Only allow the selection of printers.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>BROWSEINCLUDEFILES</term>
+      <listitem>
+      <para>
+        The browse dialog box will display files as well as folders.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>BROWSEINCLUDEURLS</term>
+      <listitem>
+      <para>
+        The browse dialog box can display URLs. The NEWDIALOGSTYLE and BROWSEINCLUDEFILES flags must also be set. If these
+        three flags are not set, the browser dialog box will reject URLs. Even when these flags are set, the browse dialog
+        box will only display URLs if the folder that contains the selected item supports them.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>DONTGOBELOWDOMAIN</term>
+      <listitem>
+      <para>
+        Do not include network folders below the domain level in the dialog box's tree view control.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>NEWDIALOGSTYLE</term>
+      <listitem>
+      <para>
+        Use the new user interface. Setting this flag provides the user with a larger dialog box that can be resized. The
+        dialog box has several new capabilities, including: drag-and-drop capability within the dialog box, reordering,
+        shortcut menus, new folders, delete, and other shortcut menu commands. The programmer can not effectively remove this
+        flag, the ooDialog framework ensures it is always set.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>NONEWFOLDERBUTTON</term>
+      <listitem>
+      <para>
+        Do not include the New Folder button in the browse dialog box.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>NOTRANSLATETARGETS</term>
+      <listitem>
+      <para>
+        When the selected item is a shortcut, return the <xref linkend="varItemIDList"/> of the shortcut itself rather than
+        its target.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>RETURNFSANCESTORS</term>
+      <listitem>
+      <para>
+        Only return file system ancestors. An ancestor is a subfolder that is beneath the root folder in the namespace
+        hierarchy.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>RETURNONLYFSDIRS</term>
+      <listitem>
+      <para>
+        Only return file system directories.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>SHAREABLE</term>
+      <listitem>
+      <para>
+        The browse dialog box can display shareable resources on remote systems. It is intended for applications that want to
+        expose remote shares on a local system.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>UAHINT</term>
+      <listitem>
+      <para>
+        Adds a usage hint to the dialog box. This option is set by the ooDialog framework, the programmer can not effectively
+        alter it. The option is set if the <xref linkend="atrHint"/> attribute is set and removed if the attribute is not
+        set.
+      </para>
+      </listitem></varlistentry>
+    </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example comes from a demonstration program showing how to browse for printers. After instantiating the browse for
+    folder object, it sets the dialog options to a non-default value, a value appropriate for printer browsing:
+<programlisting>
+<![CDATA[
+
+  title  = 'Browse For a Printer'
+  banner = 'Select the printer to use for this test.'
+  hint   = 'This is only a demonstration, no printing will be done.'
+
+  bff = .BrowseForFolder~new(title, banner, hint)
+
+  bff~owner = self
+  bff~root = 'CSIDL_PRINTERS'
+
+  bff~options = 'BROWSEFORPRINTERS NONEWFOLDERBUTTON'
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::options() [attribute]  -->
+
+<section id="atrOwner" xreflabel="owner"><title>owner (Attribute)</title>
+<indexterm><primary>owner</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>owner</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--owner----------------------------------------><
+
+>>--owner = ownerDlg-----------------------------><
+
+]]>
+</programlisting>
+
+<para>
+  Reflects the Rexx dialog that is the owner of this browse for folder dialog. By default there is no owner.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">owner get:</emphasis></term>
+  <listitem>
+  <para>
+    If this browse for folder dialog has an owner dialog, returns that Rexx dialog. Returns the
+  <computeroutput>.nil</computeroutput> object if ther is no owner dialog.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">owner set:</emphasis></term>
+  <listitem>
+  <para>
+    To assign an owner dialog to the browse for folder dialog set the <emphasis role="italic">ownerDlg</emphasis> attribute
+    to a Rexx dialog object that is to be the owner. By default there is no owner dialog assigned. If the programmer has set
+    an owner dialog and for some reasons needs to remove it, this can be done by setting the <emphasis
+    role="italic">ownerDlg</emphasis> attribute to the <computeroutput>.nil</computeroutput> object.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    If the browse for folder dialog has an owner dialog, then when the browse dialog is displayed the operating system will
+    disable the owner dialog until the user has closed the browse dialog. This is normally the behaviour wanted.
+  </para>
+  <para>
+    Note that setting the <emphasis role="italic">owner</emphasis> attribute before the underlying ownere dialog has been
+    created will have not effect.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example shows the first steps in configuring a <emphasis role="italic">browse for printers</emphasis> dialog that is
+    displayed from a dialog. The dialog is set as the owner of the browse for printers dialog:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new(title, banner, hint)
+  bff~owner = self
+  bff~root = 'CSIDL_PRINTERS'
+  ...
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::owner() [attribute]  -->
+
+<section id="atrRoot" xreflabel="root"><title>root (Attribute)</title>
+<indexterm><primary>root</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>root</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--root-----------------------------------------><
+
+>>--root = rootFolder----------------------------><
+
+]]>
+</programlisting>
+
+<para>
+  Reflects the folder that will be set as the root folder of the tree-view control in the browse for folder dialog. It is not
+  possible for the user to browse above the root folder.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">root get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the item <link linkend="varItemIDList">ID</link> list for the folder set as the root folder of the browse for
+    folder dialog. If no root folder has been set, the <computeroutput>.nil</computeroutput> object is returned.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">root set:</emphasis></term>
+  <listitem>
+  <para>
+    The <emphasis role="italic">root</emphasis> attribute can be set using a number of different forms. By default, no root
+    folder is set. To remove a root folder, set the attribute to the emplty string or to the
+    <computeroutput>.nil</computeroutput> object. Use a full path name to set the root folder to the named folder. One of the
+    <xref linkend="sctSpecialFolderNames"/> can be used. In addition, an item <link linkend="varItemIDList">ID</link> list
+    can be used. An item ID list can be obtained through the <xref linkend="mthGetItemIDList"/> method.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    When an item ID list is obtained through the <emphasis role="italic">getItemIDList</emphasis>, the user is normally
+    responsible for <link linkend="mthReleaseItemIDList">releasing</link> the item ID list. However, the ooDialog
+    automatically releases the item ID list set as the <emphasis role="italic">root</emphasis> attribute. There is no need to
+    release an item ID list that has been set as the <emphasis role="italic">root</emphasis> attriubte.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example comes from a demonstration program showing how to browse for printers. After instantiating the browse for
+    folder object, it sets the root attribute to the printers folder:
+<programlisting>
+<![CDATA[
+
+  title  = 'Browse For a Printer'
+  banner = 'Select the printer to use for this test.'
+  hint   = 'This is only a demonstration, no printing will be done.'
+
+  bff = .BrowseForFolder~new(title, banner, hint)
+
+  bff~owner = self
+  bff~root = 'CSIDL_PRINTERS'
+
+  bff~options = 'BROWSEFORPRINTERS NONEWFOLDERBUTTON'
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::root() [attribute]  -->
+
+<section id="atrStartDir" xreflabel="startDir"><title>startDir (Attribute)</title>
+<indexterm><primary>startDir</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>startDir</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--startDir-------------------------------------><
+
+>>--startDir = initialFolder---------------------><
+
+]]>
+</programlisting>
+
+<para>
+  Reflects a directory, a folder, that should be pre-selected when the browse for folder dialog first opens. The tree-view
+  control is expanded and scrolled, if needed, so that the selected folder is visible when the dialog is shown.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">startDir get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the full path name of the folder that is initially selected for this browse for folder dialog, of the empty
+    string if no start folder has been set.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">startDir set:</emphasis></term>
+  <listitem>
+  <para>
+    Set the <emphasis role="italic">startDir</emphasis> attribute to the full path name of the direcotry that should be
+    pre-selected when the browse for folder diaglo is started. To remove a starting directory, set this attribute to the
+    <computeroutput>.nil</computeroutput> object or to the empty string.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Relative path names and incomplete path names are ignored by the operating system. The <emphasis
+    role="italic">startDir</emphasis> attribute needs to be set to a full path name for this feature to work.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example configures the browse for folder dialog to open with the <computeroutput>C:\Program Files\Microsoft
+    Games</computeroutput> directory selected:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+
+  bff~root = 'CSIDL_DRIVES'
+  bff~usePathForHint = .true
+  bff~startDir = "C:\Program Files\Microsoft Games"
+
+  folder = bff~getFolder
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::startDir() [attribute]  -->
+
+<section id="atrUsePathForHint" xreflabel="usePathForHint"><title>usePathForHint (Attribute)</title>
+<indexterm><primary>usePathForHint</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>usePathForHint</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--usePathForHint-------------------------------><
+
+>>--usePathForHint = trueOrFalse-----------------><
+
+]]>
+</programlisting>
+
+<para>
+  Reflects the status of the internal flag controlling whether the hint text should be set to the selected folder's path. By
+  default the flag is set to false.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">usePathForHint get:</emphasis></term>
+  <listitem>
+  <para>
+    Returns true if the use path for hint feature is enabled, or false if it is disabled.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">usePathForHint set:</emphasis></term>
+  <listitem>
+  <para>
+    Set the <emphasis role="italic">usePathForHint</emphasis> attribute to true to enable the updating of the hint to the
+    path of the currently selected folder, or to false to disable the feature.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The browse for folder dialog has a feature that will update the hint text with the full path to the currently selected
+    folder in the tree-view control. Each time the selected folder is changed, the hint is updated with the new path to the
+    newly selected folder. This feature is turned on or off throught the <emphasis role="italic">usePathForHint</emphasis>
+    attribute.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example instantiates a browse for folder object and configures it to display the full path to the selected folder as
+    the hint by setting the <emphasis role="italic">usePathForHint</emphasis> attribute to true:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+
+  bff~root = 'CSIDL_MYDOCUMENTS'
+  bff~usePathForHint = .true
+
+  folder = bff~getFolder
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::usePathForHint() [attribute]  -->
+
+<section id="mthGetDisplayName" xreflabel="getDisplayName"><title>getDisplayName</title>
+<indexterm><primary>getDisplayName</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>getDisplayName</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getDisplayName(--pidl--,--+--------+--)------><
+                              +--type--+
+]]>
+</programlisting>
+
+<para>
+  Returns the display name for an item <link linkend="varItemIDList">ID</link> list.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>pidl [required]</term>
+    <listitem>
+    <para>
+      The item ID list whose display name is desired.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>type [optional]</term>
+    <listitem>
+    <para>
+      There are several different types or formats of display names. By default if this arugment is omitted, the method first
+      tries to get the full file system path name. But, if that fails, it tries again using the DESKTOPABSOLUTEEDITING flag.
+      This should always return something.
+    </para>
+    <para>
+      When used, the <emphasis role="italic">type</emphasis> argument specifies the format of the returned display name using
+      exactly one of the following keyword, case is not significant:
+    </para>
+    <para>
+    <simplelist type='vert' columns='2'>
+      <member>DESKTOPABSOLUTEEDITING     </member>
+      <member>DESKTOPABSOLUTEPARSING     </member>
+      <member>FILESYSPATH                </member>
+      <member>PARENTRELATIVE             </member>
+      <member>PARENTRELATIVEEDITING      </member>
+      <member>PARENTRELATIVEFORADDRESSBAR</member>
+      <member>PARENTRELATIVEPARSING      </member>
+      <member>URL                        </member>
+      <member>NORMALDISPLAY              </member>
+    </simplelist>
+    <variablelist>
+      <varlistentry><term>DESKTOPABSOLUTEEDITING</term>
+      <listitem>
+      <para>
+        Returns the editing name relative to the desktop.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>DESKTOPABSOLUTEPARSING</term>
+      <listitem>
+      <para>
+        Returns the parsing name relative to the desktop.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>FILESYSPATH</term>
+      <listitem>
+      <para>
+        Returns the display name relative to the file system path
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>PARENTRELATIVE</term>
+      <listitem>
+      <para>
+        MSDN does not document this.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>PARENTRELATIVEEDITING</term>
+      <listitem>
+      <para>
+        Returns the editing name relative to the parent folder.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>PARENTRELATIVEFORADDRESSBAR</term>
+      <listitem>
+      <para>
+        Returns the path relative to the parent folder in a friendly format as displayed in an address bar.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>PARENTRELATIVEPARSING</term>
+      <listitem>
+      <para>
+        Returns the parsing name relative to the parent folder.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>URL</term>
+      <listitem>
+      <para>
+        Returns the display name relative to a URL.
+      </para>
+      </listitem></varlistentry>
+      <varlistentry><term>NORMALDISPLAY</term>
+      <listitem>
+      <para>
+        Returns the display name relative to the desktop.
+      </para>
+      </listitem></varlistentry>
+    </variablelist>
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the display name on success, the <computeroutput>.nil</computeroutput> object on failure.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Not all format types will return a display name for any item ID list. For example, if the item ID list is a virtual
+    folder and the FILESYSPATH format is requested, the method will fail.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example gets an item ID list that the user selects and then prints its display name:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+  bff~root = 'CSIDL_DRIVES'
+  bff~usePathForHint = .true
+  bff~startDir = "C:\Program Files\Microsoft Games"
+  idList = bff~getItemIDList
+  say bff~getDisplayName(idList, 'NORMALDISPLAY')
+  return 0
+
+/* Output might be:
+
+$Recycle.Bin
+
+*/
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::getDisplayName() -->
+
+<section id="mthGetFolder" xreflabel="getFolder"><title>getFolder</title>
+<indexterm><primary>getFolder</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>getFolder</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getFolder(--+---------+--)-------------------><
+                +--reuse--+
+]]>
+</programlisting>
+
+<para>
+  Shows the browse for folder dialog configured as defined by the current values of the attributes of this object.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The single argument is:
+  </para>
+  <variablelist>
+    <varlistentry><term>reuse [optional]</term>
+    <listitem>
+    <para>
+      True or false to specify whether this object will be <emphasis role="italic">reused</emphasis> or if the programmer is
+      finished with the object. The default is false, the programmer is done invoking methods on the object
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the folder selected by the user, or the <computeroutput>.nil</computeroutput> object if the user cancels the
+    dialog.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The recommended usage pattern for the BrowseForFolder object is to instantiate the object, configure the dialog through
+    the object's attributes, and show the dialog using <emphasis role="italic">getFolder</emphasis>, or <xref
+    linkend="mthGetItemIDList"/>. In this way the COM library is <link linkend="varCOMLibrary">initialized</link> when the
+    object is instantiated and released during the return from <emphasis role="italic">getFolder</emphasis> or <emphasis
+    role="italic">getItemIDList</emphasis>.
+  </para>
+  <para>
+    The COM library is always released during the <emphasis role="italic">getFolder</emphasis> method, unless the <emphasis
+    role="italic">reuse</emphasis> argument is true. When <emphasis role="italic">reuse</emphasis> is true, the COM library
+    is not released and it becomes the programmer's responsibility to ensure the library is released properly
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example instantiates the <computeroutput>BrowseForFolder</computeroutput> object, configures it, and shows it. On
+    return it checks if the user canceled the dialog or not. Since the programmer is done with the object, the <emphasis
+    role="italic">reuse</emphasis> argument is omitted:
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+  bff~usePathForHint = .true
+  bff~hint = ''
+  bff~owner = self
+
+  folder = bff~getFolder
+
+  if folder \== .nil then say 'The user picked:' folder
+  else say 'The user canceled'
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::getFolder() -->
+
+<section id="mthGetItemIDList" xreflabel="getItemIDList"><title>getItemIDList</title>
+<indexterm><primary>getItemIDList</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>getItemIDList</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getItemIDList(--+---------+--)---------------><
+                    +--reuse--+
+]]>
+</programlisting>
+
+<para>
+  Shows the browse for folder dialog and retrieves the item <link linkend="varItemIDList">ID</link> list the user picks.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The single argument is:
+  </para>
+  <variablelist>
+    <varlistentry><term>reuse [optional]</term>
+    <listitem>
+    <para>
+      True or false to specify whether this object will be <emphasis role="italic">reused</emphasis> or if the programmer is
+      finished with the object. The default is false, the programmer is done invoking methods on the object
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns the itemID list the user picks, or the <computeroutput>.nil</computeroutput> object if the user cancels the
+    dialog.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The item ID list returned is similar to a <link linkend="defHandle">handle</link> to other system resources, like a <link
+    linkend="mthCreateFontEx">font</link> or a <link linkend="mthGetDC">device context</link>, and must be released to free
+    up the resource. Use the <xref linkend="mthReleaseItemIDList"/> method to free the item ID list when done with it.
+    <emphasis role="bold">Note</emphasis> that the <emphasis role="italic">releaseItemIDList</emphasis> does not need the COM
+    library to be initialized. Therefore there is no problem invoking <emphasis role="italic">releaseItemIDList</emphasis>
+    <emphasis role="italic">after</emphasis> the COM library has been released.
+  </para>
+  <para>
+    However, if the returned item ID list is set as the <xref linkend="atrRoot"/> attribute, there is no need to release that
+    itme ID list, the ooDialog framework will release it automatically.
+  </para>
+  <para>
+    The recommended usage pattern for the BrowseForFolder object is to instantiate the object, configure the dialog through
+    the object's attributes, and show the dialog using <emphasis role="italic">getItemIDList</emphasis>, or <xref
+    linkend="mthGetFolder"/>. In this way the COM library is <link linkend="varCOMLibrary">initialized</link> when the
+    object is instantiated and released during the return from <emphasis role="italic">getFolder</emphasis> or <emphasis
+    role="italic">getItemIDList</emphasis>.
+  </para>
+  <para>
+    The COM library is always released during the <emphasis role="italic">getItemIDList</emphasis> method, unless the
+    <emphasis role="italic">reuse</emphasis> argument is true. When <emphasis role="italic">reuse</emphasis> is true, the COM
+    library is not released and it becomes the programmer's responsibility to ensure the library is released properly
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    In this example the user is first asked to pick the top-level folder for all backups the application does. Then, the user
+    is asked to select the folder for the current backup. To allow the user to pick a virtual folder like the Documents
+    subfolder in Libraries, the application uses the <emphasis role="italic">getIDList</emphasis> method for the first
+    showing of the browse for folder dialog. The returned item ID list is then set as the root for the second showing of the
+    browse for folder dialog. This ensures that the user picks a subfolder of the first folder picked.
+  </para>
+  <para>
+    Some other things to note about the example. For the first showing of the <xref linkend="atrOptions"/> attribute is set
+    to the empty string and the root is set to CSIDL_DESKTOP. CSIDL_DESKTOP is the root of the entire shell namespace. This
+    combination allows the browsing of every folder in the shell. In the first invocation of <emphasis
+    role="italic">getItemIDList</emphasis>, note the use of the <emphasis role="italic">reuse</emphasis> arg. The prevents
+    the COM library from being released. Then in the last invocation of <emphasis role="italic">getFolder</emphasis>, the
+    <emphasis role="italic">reuse</emphasis> arg is not used, and the ooDialog framework takes care of releasing the COM
+    library. However, if the user cancels the first showing of the dialog, the application handles releasing COM before it
+    returns:
+<programlisting>
+<![CDATA[
+
+  title = 'Acme Widgets - A1 Accounting Program'
+  banner = 'The A1 Accounting Program needs to know the top-level' || -
+           ' folder for data backups'
+
+  bff = .BrowseForFolder~new
+  bff~dlgTitle = title
+  bff~banner = banner
+  bff~hint = 'Pick, or create, the folder for your backups.'
+  bff~options = '';
+  bff~root = 'CSIDL_DESKTOP'
+
+  idList = bff~getItemIDList(.true)
+  if idList == .nil then do
+    say 'The user canceled'
+    bff~releaseCOM
+    return .nil
+  end
+
+  say 'Top-level backup folder:' bff~getDisplayName(idList, 'NORMALDISPLAY')
+
+  newBanner = 'The A1 Accounting Program needs to know the subfolder' || -
+              ' for this backup.'
+  bff~root = idList
+  bff~options = bff~options 'RETURNFSANCESTORS RETURNONLYFSDIRS'
+  bff~banner = newBanner
+  bff~hint = 'Pick, or create, the folder for this backup.'
+  bff~startDir = .nil
+
+  folder = bff~getFolder
+
+  select
+    when folder == .nil then say 'The user picked a virtual folder'
+    when folder == '' then say 'The user canceled'
+    otherwise say 'The user picked:' folder
+  end
+  -- End select
+
+  return folder
+
+::requires 'ooDialog.cls'
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::getItemIDList() -->
+
+<section id="mthInitCOM" xreflabel="initCOM"><title>initCOM</title>
+<indexterm><primary>initCOM</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>initCOM</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--initCOM--------------------------------------><
+]]>
+</programlisting>
+
+<para>
+  Initializes the COM <link linkend="varCOMLibrary">library</link> on the current thread.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    There are no arguments for this method.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns true when the COM library is initialized as a result of the <emphasis role="italic">initCom</emphasis>
+    invocation. Returns false if the library is not initialized as a result of the <emphasis role="italic">initCom</emphasis>
+    invocation.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    When the browse for folder dialog is first instantiated, the ooDialog framework initializes the COM library on the thread
+    that is executing. If that same object is used on another thread than the initial thread, the methods of the object may
+    fail unless the COM library is initialized on the other thread. The <emphasis role="italic">initCOM</emphasis> method is
+    provided to perform that initialization.
+  </para>
+  <para>
+    For each invocation of <emphasis role="italic">initCOM</emphasis> that returns true, a matching call to <xref
+    linkend="mthReleaseCOM"/> must be made on the same thread. Note that the <xref linkend="mthGetFolder"/> and <xref
+    linkend="mthGetItemIDList"/> methods release the COM library on the thread they are executing in when the <emphasis
+    role="italic">reuse</emphasis> arguemnt is false. Therefore, if <emphasis role="italic">initCOM</emphasis> is invoked on
+    thread xx, the matching release COM requirement can be fulfilled by invoking <emphasis role="italic">getFolder</emphasis>
+    with the <emphasis role="italic">reuse</emphasis> argument set to false.
+  </para>
+  <para>
+    If <emphasis role="italic">initCOM</emphasis> returns false, then there is no need to invoke <emphasis
+    role="italic">releaseCOM</emphasis>. Indeed, invoking <emphasis role="italic">releaseCOM</emphasis> will be a mistake as
+    this will cause the matching <emphasis role="italic">initCOM</emphasis> / <emphasis role="italic">releaseCOM</emphasis>
+    calls to become unbalanced. When <emphasis role="italic">initCom</emphasis> returns false, it can be for two reasons. If
+    the COM library has already been initialized on the current thread, false is returned and the
+    <computeroutput>.SystemErrorCode</computeroutput> is set to 1. There is also the possibility of a failure in initializing
+    the COM library. In this case, false is returned and the <computeroutput>.SystemErrorCode</computeroutput> is set to a
+    COM error code that describes the error.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example shows a browse for folder object that is reused for the life-time of the dialog.  In the onBrowse() method,
+    if the method is not running on the same thread as the BrowseForFolder object was instantiated on, then COM is
+    initialized and released each time the object is used.  If it is the same thread, COM is not initialized and not
+    released.
+  </para>
+  <para>
+    Finally, during the leaving() method, if the method is running on the same thread as the browse for folder was
+    instantiated on, the item <link linkend="varItemIDList">ID</link> list and COM are released.
+  </para>
+  <para>
+    Note that this example does run correctly. But, if it were to turn out that the leaving() method was not running on the
+    same thread as the define() method had run on, then COM and the item ID list would not be released correctly. It was only
+    after some testing that it was determined that the program ran correctly:
+
+<programlisting>
+<![CDATA[
+
+::method defineDialog
+  expose bff pidl
+
+  ...
+
+  say 'defineDialog() thread ID' .DlgUtil~threadID
+  say
+  bff = .BrowseForFolder~new
+  bff~usePathForHint = .true
+  bff~hint = ''
+
+  pidl = .nil
+
+::method onBrowse unguarded
+  expose bff pidl
+
+  say 'onBrowse() thread:' .DlgUtil~threadID
+  say
+
+  newThread = (bff~initialThread == .DlgUtil~threadID)
+
+  if newThread then bff~initCOM
+
+  if pidl \== .nil then bff~releaseItemIDList(pidl)
+  if bff~owner \== .nil then bff~owner = self
+
+  pidl = bff~getItemIDList(.true)
+
+  if pidl \== .nil then say 'The user picked:' bff~getDisplayName(pidl)
+  else say 'The user canceled'
+  say
+
+  if newThread then bff~releaseCOM
+
+  return 0
+
+::method leaving unguarded
+  expose bff pidl
+
+  if bff~initialThread == .DlgUtil~threadID then do
+      say 'leaving() thread ID' .DlgUtil~threadID
+      if pidl \== .nil then bff~releaseItemIDList(pidl)
+      bff~releaseCOM
+  end
+
+/* Output from a typical session:
+
+defineDialog() thread ID 4032
+
+onBrowse() thread: 3320
+
+The user picked: C:\Rexx\ooRexx.3.0.0.release
+
+onBrowse() thread: 3320
+
+The user canceled
+
+onBrowse() thread: 3320
+
+The user picked: U:\PictureFiles
+
+leaving() thread ID 4032
+
+*/
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::initCOM() -->
+
+<section id="mthReleaseCOM" xreflabel="releaseCOM"><title>releaseCOM</title>
+<indexterm><primary>releaseCOM</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>releaseCOM</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--releaseCOM-----------------------------------><
+]]>
+</programlisting>
+
+<para>
+  Releases the COM <link linkend="varCOMLibrary">library</link> on the current thread.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    There are no arguments for this method.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns true if the current thread is the same thread as this <computeroutput>BrowseForFolder</computeroutput> object was
+    instantiated on, otherwise false. A return of false does not indicate failure.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    As noted through out the <computeroutput>BrowseForFolder</computeroutput> documentation, the COM library must be
+    initialized and released for each thread the browse for folder object is used on. The ooDialog initializes the COM
+    library on the thread the object is first instantiated on and releases the COM library on the thread that the <xref
+    linkend="mthGetFolder"/> method, or the <xref linkend="mthGetItemIDList"/> is invoked on. If the same browse for folder
+    object is used on another thread than the thread it was instatiated on, the methods of the object may fail unless the COM
+    library is initialized on the other thread. The <xref linkend="mthInitCOM"/> method is provided to perform the
+    initialization, and the <emphasis role="italic">releaseCOM</emphasis> method is provided to release the COM library on
+    the other thread.
+  </para>
+  <para>
+    For each invocation of <emphasis role="italic">initCOM</emphasis> that returns true, a matching call to <emphasis
+    role="italic">releaseCOM</emphasis> must be made on the same thread. Note that the <xref linkend="mthGetFolder"/> and
+    <xref linkend="mthGetItemIDList"/> methods release the COM library on the thread they are executing in when the <emphasis
+    role="italic">reuse</emphasis> arguemnt is false. Therefore, if <emphasis role="italic">initCOM</emphasis> is invoked on
+    thread xx, the matching release COM requirement can be fulfilled by invoking <emphasis role="italic">getFolder</emphasis>
+    with the <emphasis role="italic">reuse</emphasis> argument set to false.
+  </para>
+  <para>
+    If <emphasis role="italic">initCOM</emphasis> returns false, then there is no need to invoke <emphasis
+    role="italic">releaseCOM</emphasis>. Indeed, invoking <emphasis role="italic">releaseCOM</emphasis> will be a mistake as
+    this will cause the matching <emphasis role="italic">initCOM</emphasis> / <emphasis role="italic">releaseCOM</emphasis>
+    calls to become unbalanced.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example shows a browse for folder object that is reused for the life-time of the dialog.  In the onBrowse() method,
+    if the method is not running on the same thread as the BrowseForFolder object was instantiated on, then COM is
+    initialized and released each time the object is used.  If it is the same thread, COM is not initialized and not
+    released.
+  </para>
+  <para>
+    Finally, during the leaving() method, if the method is running on the same thread as the browse for folder was
+    instantiated on, the item <link linkend="varItemIDList">ID</link> list and COM are released.
+  </para>
+  <para>
+    Note that this example does run correctly. But, if it were to turn out that the leaving() method was not running on the
+    same thread as the define() method had run on, then COM and the item ID list would not be released correctly. It was only
+    after some testing that it was determined that the program ran correctly:
+<programlisting>
+<![CDATA[
+
+::method defineDialog
+  expose bff pidl
+
+  ...
+
+  say 'defineDialog() thread ID' .DlgUtil~threadID
+  say
+  bff = .BrowseForFolder~new
+  bff~usePathForHint = .true
+  bff~hint = ''
+
+  pidl = .nil
+
+::method onBrowse unguarded
+  expose bff pidl
+
+  say 'onBrowse() thread:' .DlgUtil~threadID
+  say
+
+  newThread = (bff~initialThread == .DlgUtil~threadID)
+
+  if newThread then bff~initCOM
+
+  if pidl \== .nil then bff~releaseItemIDList(pidl)
+  if bff~owner \== .nil then bff~owner = self
+
+  pidl = bff~getItemIDList(.true)
+
+  if pidl \== .nil then say 'The user picked:' bff~getDisplayName(pidl)
+  else say 'The user canceled'
+  say
+
+  if newThread then bff~releaseCOM
+
+  return 0
+
+::method leaving unguarded
+  expose bff pidl
+
+  if bff~initialThread == .DlgUtil~threadID then do
+      say 'leaving() thread ID' .DlgUtil~threadID
+      if pidl \== .nil then bff~releaseItemIDList(pidl)
+      bff~releaseCOM
+  end
+
+/* Output from a typical session:
+
+defineDialog() thread ID 4032
+
+onBrowse() thread: 3320
+
+The user picked: C:\Rexx\ooRexx.3.0.0.release
+
+onBrowse() thread: 3320
+
+The user canceled
+
+onBrowse() thread: 3320
+
+The user picked: U:\PictureFiles
+
+leaving() thread ID 4032
+
+*/
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::releaseCOM() -->
+
+<section id="mthReleaseItemIDList" xreflabel="releaseItemIDList"><title>releaseItemIDList</title>
+<indexterm><primary>releaseItemIDList</primary></indexterm>
+<indexterm><primary>BrowseForFolder class</primary><secondary>releaseItemIDList</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--releaseItemIDList(--itemIDList--)------------><
+]]>
+</programlisting>
+
+<para>
+  Releases the system resources used by an item <link linkend="varItemIDList">ID</link> list.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The single argument is;
+  </para>
+  <variablelist>
+    <varlistentry><term>itemIDList [required]</term>
+    <listitem>
+    <para>
+      The item ID list to be released.
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    Returns 0, always.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    An item ID list is similar to a <link linkend="defHandle">handle</link> to other system resources, like a <link
+    linkend="mthCreateFontEx">font</link> or a <link linkend="mthGetDC">device context</link>, and must be released to free
+    up the resource. Each item ID list returned from the <xref linkend="mthGetItemIDList"/> method should be released when
+    the application is finished using it, unless the item ID list is assigned to the <xref linkend="atrRoot"/> attribute.
+    <emphasis role="bold">Note</emphasis> that the <emphasis role="italic">releaseItemIDList</emphasis> does not need the COM
+    library to be initialized. Therefore there is no problem invoking <emphasis role="italic">releaseItemIDList</emphasis>
+    <emphasis role="italic">after</emphasis> the COM library has been released.
+  </para>
+  <para>
+    The one caveat to the rule that every item ID list must be released is, if the returned item ID list is set as the
+    <emphasis role="italic">root</emphasis> attribute, there is no need to release that itme ID list, the ooDialog framework
+    will release it automatically.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example configures a browse for folder dialog to allow browsing the entire shell namespace. It then runs in a loop
+    allowing the user to pick a folder and see what the folder's display name is. Note that every returned item ID list is
+    released. Also note that the <xref linkend="mthGetItemIDList"/> method uses true for the <emphasis
+    role="italic">reuse</emphasis> argument. This tells the ooDialog framework to not release COM during the invocation of
+    the <emphasis role="italic">getItemIDList</emphasis> method. Because of this the example uses <xref
+    linkend="mthReleaseCOM"/> to properly release the COM library when the example ends:
+
+<programlisting>
+<![CDATA[
+
+  bff = .BrowseForFolder~new
+  bff~options = '';
+  bff~root = 'CSIDL_DESKTOP'
+
+  msgQuestion = .endOfLine~copies(2) || "Do you want to continue browsing?"
+  title = 'Browsing All Shell Folders'
+
+  yes = .PlainBaseDialog~IDYES
+  keepGoing = yes
+  do while keepGoing == yes
+      idList = bff~getItemIDList(.true)
+
+      if idList == .nil then do
+          nop
+      end
+      else do
+          msg = 'You picked the "'                          || -
+                bff~getDisplayName(idList, 'NORMALDISPLAY') || -
+                '" folder' || msgQuestion
+
+          keepGoing = MessageDialog(msg, , title, 'YESNO', 'QUESTION')
+
+          bff~releaseItemIDList(idList)
+      end
+  end
+
+  bff~releaseCom
+
+  return 0
+
+  ::requires 'ooDialog.cls'
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End BrowseForFolder::releaseItemIDList() -->
+
+</section> <!-- End BrowseForFolder Class -->
+
+<section id="clsComConstants" xreflabel="ComConstants"><title>ComConstants Mixin Class</title>
+<indexterm><primary>ComConstants mixin class</primary></indexterm>
+<para>
+  The <computeroutput>ComConstants</computeroutput> class defines <computeroutput>constant</computeroutput> methods useful
+  when working with the shell objects in ooDialog. It is a <emphasis role="italic">mixin</emphasis> class that is inherited
+  by the <link linkend="clsShellItemFilter">ShellItemFilter</link> and <link
+  linkend="clsCommonDialogEvents">CommonDialogEvents</link> classes. The ooDialog programmer may also want her own classes to
+  inherit the <computeroutput>ComConstants</computeroutput> class.
+</para>
+<para>
+  The current constant values represent COM result code values. These result codes may be returned by the operating system to
+  the Rexx program or returned to the operating system from the Rexx program. The exact meaning of the result code is usually
+  dependent on the context it is used in. This meaning will be documented in the individual shell object methods or event
+  handlers.
+</para>
+
+<section id="sctMethodsComConstants"><title>Constant Method Table</title>
+<para>
+  The following table lists the constant methods of the <computeroutput>ComConstants</computeroutput> class:
+
+<table id="tblMethodsComConstants" frame="all"> <title>ComConstants Class Constant Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Constant</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>E_NOTIMPL</entry>
+<entry>The particular method of the COM object is not implemented.</entry>
+</row>
+<row>
+<entry>S_FALSE</entry>
+<entry>False.</entry>
+</row>
+<row>
+<entry>S_OK</entry>
+<entry>Ok.</entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+</section> <!-- End ComConstants Class -->
+
+
+<section id="clsCommonDialogCustomizations" xreflabel="CommonDialogCustomizations"><title>CommonDialogCustomizations Class</title>
+<indexterm><primary>CommonDialogCustomizations class</primary></indexterm>
+<para>
+  A CommonDialogCustomizations object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsCommonDialogCustomizations"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>CommonDialogCustomizations</computeroutput> class:
+
+<table id="tblMethodsCommonDialogCustomizations" frame="all"> <title>CommonDialogCustomizations Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry>new</entry>
+<entry><link linkend="mthNewClsCommonDialogCustomizations">new</link></entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthAddCheckButton" xreflabel="addCheckButton"><title>addCheckButton</title>
+<indexterm><primary>addCheckButton</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addCheckButton</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addCheckButton(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addCheckButton() -->
+
+<section id="mthAddComboBox" xreflabel="addComboBox"><title>addComboBox</title>
+<indexterm><primary>addComboBox</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addComboBox</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addComboBox(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addComboBox() -->
+
+<section id="mthAddControlItem" xreflabel="addControlItem"><title>addControlItem</title>
+<indexterm><primary>addControlItem</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addControlItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addControlItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addControlItem() -->
+
+<section id="mthAddEditBox" xreflabel="addEditBox"><title>addEditBox</title>
+<indexterm><primary>addEditBox</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addEditBox</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addEditBox(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addEditBox() -->
+
+<section id="mthAddMenu" xreflabel="addMenu"><title>addMenu</title>
+<indexterm><primary>addMenu</primary></indexterm>
+<indexterm><primary>CommonDialogCustomization class</primary><secondary>addMenu</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addMenu(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomization::addMenu() -->
+
+<section id="mthAddPushButton" xreflabel="addPushButton"><title>addPushButton</title>
+<indexterm><primary>addPushButton</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addPushButton</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addPushButton(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addPushButton() -->
+
+<section id="mthAddRadioButtonList" xreflabel="addRadioButtonList"><title>addRadioButtonList</title>
+<indexterm><primary>addRadioButtonList</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addRadioButtonList</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addRadioButtonList(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addRadioButtonList() -->
+
+<section id="mthAddSeparator" xreflabel="addSeparator"><title>addSeparator</title>
+<indexterm><primary>addSeparator</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addSeparator</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addSeparator(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addSeparator() -->
+
+<section id="mthAddText" xreflabel="addText"><title>addText</title>
+<indexterm><primary>addText</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>addText</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addText(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::addText() -->
+
+<section id="mthCheck" xreflabel="check"><title>check</title>
+<indexterm><primary>check</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>check</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--check(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::check() -->
+
+<section id="mthEnableOpenDropDown" xreflabel="enableOpenDropDown"><title>enableOpenDropDown</title>
+<indexterm><primary>enableOpenDropDown</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>enableOpenDropDown</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--enableOpenDropDown(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::enableOpenDropDown() -->
+
+<section id="mthEndVisualGroup" xreflabel="endVisualGroup"><title>endVisualGroup</title>
+<indexterm><primary>endVisualGroup</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>endVisualGroup</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--endVisualGroup(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::endVisualGroup() -->
+
+<section id="mthGetCheckButtonState" xreflabel="getCheckButtonState"><title>getCheckButtonState</title>
+<indexterm><primary>getCheckButtonState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>getCheckButtonState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getCheckButtonState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::getCheckButtonState() -->
+
+<section id="mthGetControlItemState" xreflabel="getControlItemState"><title>getControlItemState</title>
+<indexterm><primary>getControlItemState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>getControlItemState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getControlItemState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::getControlItemState() -->
+
+<section id="mthGetControlState" xreflabel="getControlState"><title>getControlState</title>
+<indexterm><primary>getControlState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>getControlState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getControlState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::getControlState() -->
+
+<section id="mthGetEditBoxText" xreflabel="getEditBoxText"><title>getEditBoxText</title>
+<indexterm><primary>getEditBoxText</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>getEditBoxText</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getEditBoxText(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::getEditBoxText() -->
+
+<section id="mthGetSelectedControlItem" xreflabel="getSelectedControlItem"><title>getSelectedControlItem</title>
+<indexterm><primary>getSelectedControlItem</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>getSelectedControlItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getSelectedControlItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::getSelectedControlItem() -->
+
+<section id="mthIsChecked" xreflabel="isChecked"><title>isChecked</title>
+<indexterm><primary>isChecked</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>isChecked</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--isChecked(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::isChecked() -->
+
+<section id="mthMakeProminent" xreflabel="makeProminent"><title>makeProminent</title>
+<indexterm><primary>makeProminent</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>makeProminent</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--makeProminent(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::makeProminent() -->
+
+<section id="mthRemoveAllControlItems" xreflabel="removeAllControlItems"><title>removeAllControlItems</title>
+<indexterm><primary>removeAllControlItems</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>removeAllControlItems</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--removeAllControlItems(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::removeAllControlItems() -->
+
+<section id="mthRemoveControlItem" xreflabel="removeControlItem"><title>removeControlItem</title>
+<indexterm><primary>removeControlItem</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>removeControlItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--removeControlItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::removeControlItem() -->
+
+<section id="mthSetCheckButtonState" xreflabel="setCheckButtonState"><title>setCheckButtonState</title>
+<indexterm><primary>setCheckButtonState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setCheckButtonState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setCheckButtonState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setCheckButtonState() -->
+
+<section id="mthSetControlItemState" xreflabel="setControlItemState"><title>setControlItemState</title>
+<indexterm><primary>setControlItemState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setControlItemState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setControlItemState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setControlItemState() -->
+
+<section id="mthSetControlItemText" xreflabel="setControlItemText"><title>setControlItemText</title>
+<indexterm><primary>setControlItemText</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setControlItemText</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setControlItemText(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setControlItemText() -->
+
+<section id="mthSetControlLabel" xreflabel="setControlLabel"><title>setControlLabel</title>
+<indexterm><primary>setControlLabel</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setControlLabel</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setControlLabel(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setControlLabel() -->
+
+<section id="mthSetControlState" xreflabel="setControlState"><title>setControlState</title>
+<indexterm><primary>setControlState</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setControlState</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setControlState(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setControlState() -->
+
+<section id="mthSetEditBoxText" xreflabel="setEditBoxText"><title>setEditBoxText</title>
+<indexterm><primary>setEditBoxText</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setEditBoxText</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setEditBoxText(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setEditBoxText() -->
+
+<section id="mthSetSelectedControlItem" xreflabel="setSelectedControlItem"><title>setSelectedControlItem</title>
+<indexterm><primary>setSelectedControlItem</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>setSelectedControlItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setSelectedControlItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::setSelectedControlItem() -->
+
+<section id="mthStartVisualGroup" xreflabel="startVisualGroup"><title>startVisualGroup</title>
+<indexterm><primary>startVisualGroup</primary></indexterm>
+<indexterm><primary>CommonDialogCustomizations class</primary><secondary>startVisualGroup</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--startVisualGroup(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogCustomizations::startVisualGroup() -->
+
+</section> <!-- End CommonDialogCustomizations Class -->
+
+
+<section id="clsCommonItemDialog" xreflabel="CommonItemDialog"><title>CommonItemDialog Class</title>
+<indexterm><primary>CommonItemDialog class</primary></indexterm>
+<para>
+  A CommonItemDialog object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsCommonItemDialog"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>CommonItemDialog</computeroutput> class:
+
+<table id="tblMethodsCommonItemDialog" frame="all"> <title>CommonItemDialog Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry>new</entry>
+<entry><link linkend="mthNewClsCommonItemDialog">new</link></entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthNewClsCommonItemDialog"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>CommonItemDialog class</secondary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::new() -->
+
+<section id="mthAddPlace" xreflabel="addPlace"><title>addPlace</title>
+<indexterm><primary>addPlace</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>addPlace</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--addPlace(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::addPlace() -->
+
+<section id="mthAdvise" xreflabel="advise"><title>advise</title>
+<indexterm><primary>advise</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>advise</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--advise(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::advise() -->
+
+<section id="mthClearClientData" xreflabel="clearClientData"><title>clearClientData</title>
+<indexterm><primary>clearClientData</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>clearClientData</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--clearClientData(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::clearClientData() -->
+
+<section id="mthClose" xreflabel="close"><title>close</title>
+<indexterm><primary>close</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>close</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--close(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::close() -->
+
+<section id="mthGetCurrentSelection" xreflabel="getCurrentSelection"><title>getCurrentSelection</title>
+<indexterm><primary>getCurrentSelection</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>getCurrentSelection</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getCurrentSelection(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::getCurrentSelection() -->
+
+<section id="mthGetFileName" xreflabel="getFileName"><title>getFileName</title>
+<indexterm><primary>getFileName</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>getFileName</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getFileName(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::getFileName() -->
+
+<section id="mthGetFileTypeIndex" xreflabel="getFileTypeIndex"><title>getFileTypeIndex</title>
+<indexterm><primary>getFileTypeIndex</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>getFileTypeIndex</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getFileTypeIndex(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::getFileTypeIndex() -->
+
+<section id="mthGetFolder" xreflabel="getFolder"><title>getFolder</title>
+<indexterm><primary>getFolder</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>getFolder</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getFolder(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::getFolder() -->
+
+<section id="mthGetResult" xreflabel="getResult"><title>getResult</title>
+<indexterm><primary>getResult</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>getResult</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getResult(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::getResult() -->
+
+<section id="mthInitCOM" xreflabel="initCOM"><title>initCOM</title>
+<indexterm><primary>initCOM</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>initCOM</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--initCOM(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::initCOM() -->
+
+<section id="mthRelease" xreflabel="release"><title>release</title>
+<indexterm><primary>release</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>release</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--release(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::release() -->
+
+<section id="mthReleaseCOM" xreflabel="releaseCOM"><title>releaseCOM</title>
+<indexterm><primary>releaseCOM</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>releaseCOM</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--releaseCOM(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::releaseCOM() -->
+
+<section id="mthSetClientGuid" xreflabel="setClientGuid"><title>setClientGuid</title>
+<indexterm><primary>setClientGuid</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setClientGuid</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setClientGuid(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setClientGuid() -->
+
+<section id="mthSetDefaultExtension" xreflabel="setDefaultExtension"><title>setDefaultExtension</title>
+<indexterm><primary>setDefaultExtension</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setDefaultExtension</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setDefaultExtension(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setDefaultExtension() -->
+
+<section id="mthSetDefaultFolder" xreflabel="setDefaultFolder"><title>setDefaultFolder</title>
+<indexterm><primary>setDefaultFolder</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setDefaultFolder</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setDefaultFolder(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setDefaultFolder() -->
+
+<section id="mthSetFileName" xreflabel="setFileName"><title>setFileName</title>
+<indexterm><primary>setFileName</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFileName</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFileName(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFileName() -->
+
+<section id="mthSetFileNameLabel" xreflabel="setFileNameLabel"><title>setFileNameLabel</title>
+<indexterm><primary>setFileNameLabel</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFileNameLabel</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFileNameLabel(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFileNameLabel() -->
+
+<section id="mthSetFileTypeIndex" xreflabel="setFileTypeIndex"><title>setFileTypeIndex</title>
+<indexterm><primary>setFileTypeIndex</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFileTypeIndex</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFileTypeIndex(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFileTypeIndex() -->
+
+<section id="mthSetFileTypes" xreflabel="setFileTypes"><title>setFileTypes</title>
+<indexterm><primary>setFileTypes</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFileTypes</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFileTypes(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFileTypes() -->
+
+<section id="mthSetFilter" xreflabel="setFilter"><title>setFilter</title>
+<indexterm><primary>setFilter</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFilter</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFilter(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFilter() -->
+
+<section id="mthSetFolder" xreflabel="setFolder"><title>setFolder</title>
+<indexterm><primary>setFolder</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setFolder</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setFolder(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setFolder() -->
+
+<section id="mthSetOkButtonLabel" xreflabel="setOkButtonLabel"><title>setOkButtonLabel</title>
+<indexterm><primary>setOkButtonLabel</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setOkButtonLabel</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setOkButtonLabel(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setOkButtonLabel() -->
+
+<section id="mthSetTitle" xreflabel="setTitle"><title>setTitle</title>
+<indexterm><primary>setTitle</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>setTitle</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setTitle(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::setTitle() -->
+
+<section id="mthShow" xreflabel="show"><title>show</title>
+<indexterm><primary>show</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>show</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--show(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::show() -->
+
+<section id="mthUnadvise" xreflabel="unadvise"><title>unadvise</title>
+<indexterm><primary>unadvise</primary></indexterm>
+<indexterm><primary>CommonItemDialog class</primary><secondary>unadvise</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--unadvise(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonItemDialog::unadvise() -->
+
+</section> <!-- End CommonItemDialog Class -->
+
+<section id="clsCommonDialogEvents" xreflabel="CommonDialogEvents"><title>CommonDialogEvents Class</title>
+<indexterm><primary>CommonDialogEvents class</primary></indexterm>
+<para>
+  A CommonDialogEvents object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsCommonDialogEvents"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>CommonDialogEvents</computeroutput> class:
+
+<table id="tblMethodsCommonDialogEvents" frame="all"> <title>CommonDialogEvents Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><link linkend="sctCommonDialogEventsConstants">Constant Methods</link></entry>
+<entry>Lists and explains the <emphasis role="italic">constant</emphasis> values provided by the <computeroutput>CommonDialogEvents</computeroutput> class.</entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry><link linkend="mthNewClsCommonDialogEvents">new</link></entry>
+<entry>XXX</entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="sctCommonDialogEventsConstants"><title>Constant Methods</title>
+<indexterm><primary>constant methods</primary><secondary>CommonDialogEvents class</secondary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>constant methods</secondary></indexterm>
+<para>
+  The <computeroutput>CommonDialogEvents</computeroutput> class provides a number of <emphasis
+  role="italic">constant</emphasis> values through the use of the <computeroutput>::constant</computeroutput> directive. The
+  constants are listed and documented in this section. Recall that the constant methods defined by the
+  <computeroutput>::constant</computeroutput> directive are both class and instance methods of the class they are defined in.
+</para>
+<para>
+  The three <computeroutput>FDESVR_x</computeroutput> constants are used to indicate an application's response to a sharing
+  violation that occurs when a file is opened or saved. They are the valid reply values for the <xref
+  linkend="mthOnShareViolation"/> or <xref linkend="mthOnOverWrite"/> events.
+</para>
+<para>
+  The constants provided by the <computeroutput>CommonDialogEvents</computeroutput> are listed in the table below:
+</para>
+<table id="tblConstantsCommonDialogEvents" frame="all"> <title>CommonDialogEvents Constant Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1*" /><colspec colwidth="3*" />
+<thead>
+<row>
+<entry>Constant Symbol</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>FDESVR_ACCEPT</entry>
+<entry>The application has determined that the file should be returned from the common item dialog.</entry>
+</row>
+<row>
+<entry>FDESVR_DEFAULT</entry>
+<entry>The application has not handled the event. The common item dialog displays a user interface (UI) indicating that the file is in use and a different file must be chosen.</entry>
+</row>
+<row>
+<entry>FDESVR_REFUSE</entry>
+<entry>The application has determined that the file should not be returned from the common itemdialog.</entry>
+</row>
+</tbody></tgroup>
+</table>
+</section>
+
+<section id="mthNewClsCommonDialogEvents"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>CommonDialogEvents class</secondary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::new() -->
+
+<section id="mthOnButtonClicked" xreflabel="onButtonClicked"><title>onButtonClicked</title>
+<indexterm><primary>onButtonClicked</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onButtonClicked</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onButtonClicked(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onButtonClicked() -->
+
+<section id="mthOnCheckButtonToggled" xreflabel="onCheckButtonToggled"><title>onCheckButtonToggled</title>
+<indexterm><primary>onCheckButtonToggled</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onCheckButtonToggled</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onCheckButtonToggled(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onCheckButtonToggled() -->
+
+<section id="mthOnControlActivating" xreflabel="onControlActivating"><title>onControlActivating</title>
+<indexterm><primary>onControlActivating</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onControlActivating</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onControlActivating(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onControlActivating() -->
+
+<section id="mthOnFileOk" xreflabel="onFileOk"><title>onFileOk</title>
+<indexterm><primary>onFileOk</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onFileOk</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onFileOk(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onFileOk() -->
+
+<section id="mthOnFolderChange" xreflabel="onFolderChange"><title>onFolderChange</title>
+<indexterm><primary>onFolderChange</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onFolderChange</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onFolderChange(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onFolderChange() -->
+
+<section id="mthOnFolderChanging" xreflabel="onFolderChanging"><title>onFolderChanging</title>
+<indexterm><primary>onFolderChanging</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onFolderChanging</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onFolderChanging(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onFolderChanging() -->
+
+<section id="mthOnHelp" xreflabel="onHelp"><title>onHelp</title>
+<indexterm><primary>onHelp</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onHelp</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onHelp(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onHelp() -->
+
+<section id="mthOnItemSelected" xreflabel="onItemSelected"><title>onItemSelected</title>
+<indexterm><primary>onItemSelected</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onItemSelected</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onItemSelected(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onItemSelected() -->
+
+<section id="mthOnOverwrite" xreflabel="onOverwrite"><title>onOverwrite</title>
+<indexterm><primary>onOverwrite</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onOverwrite</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onOverwrite(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onOverwrite() -->
+
+<section id="mthOnSelectionChange" xreflabel="onSelectionChange"><title>onSelectionChange</title>
+<indexterm><primary>onSelectionChange</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onSelectionChange</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onSelectionChange(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onSelectionChange() -->
+
+<section id="mthOnShareViolation" xreflabel="onShareViolation"><title>onShareViolation</title>
+<indexterm><primary>onShareViolation</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onShareViolation</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onShareViolation(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onShareViolation() -->
+
+<section id="mthOnTypeChange" xreflabel="onTypeChange"><title>onTypeChange</title>
+<indexterm><primary>onTypeChange</primary></indexterm>
+<indexterm><primary>CommonDialogEvents class</primary><secondary>onTypeChange</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--onTypeChange(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End CommonDialogEvents::onTypeChange() -->
+
+</section> <!-- End CommonDialogEvents Class -->
+
+
+<section id="clsOpenFileDialog" xreflabel="OpenFileDialog"><title>OpenFileDialog Class</title>
+<indexterm><primary>OpenFileDialog class</primary></indexterm>
+<para>
+  A OpenFileDialog object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsOpenFileDialog"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>OpenFileDialog</computeroutput> class:
+
+<table id="tblMethodsOpenFileDialog" frame="all"> <title>OpenFileDialog Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry>new</entry>
+<entry><link linkend="mthNewClsOpenFileDialog">new</link></entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthNewClsOpenFileDialog"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>OpenFileDialog class</secondary></indexterm>
+<indexterm><primary>OpenFileDialog class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End OpenFileDialog::new() -->
+
+<section id="mthGetResults" xreflabel="getResults"><title>getResults</title>
+<indexterm><primary>getResults</primary></indexterm>
+<indexterm><primary>OpenFileDialog class</primary><secondary>getResults</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getResults(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End OpenFileDialog::getResults() -->
+
+</section> <!-- End OpenFileDialog Class -->
+
+
+<section id="clsSaveFileDialog" xreflabel="SaveFileDialog"><title>SaveFileDialog Class</title>
+<indexterm><primary>SaveFileDialog class</primary></indexterm>
+<para>
+  A SaveFileDialog object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsSaveFileDialog"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>SaveFileDialog</computeroutput> class:
+
+<table id="tblMethodsSaveFileDialog" frame="all"> <title>SaveFileDialog Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry>new</entry>
+<entry><link linkend="mthNewClsSaveFileDialog">new</link></entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthNewClsSaveFileDialog"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>SaveFileDialog class</secondary></indexterm>
+<indexterm><primary>SaveFileDialog class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End SaveFileDialog::new() -->
+
+<section id="mthSetSaveAsItem" xreflabel="setSaveAsItem"><title>setSaveAsItem</title>
+<indexterm><primary>setSaveAsItem</primary></indexterm>
+<indexterm><primary>SaveFileDialog class</primary><secondary>setSaveAsItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--setSaveAsItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End SaveFileDialog::setSaveAsItem() -->
+
+</section> <!-- End SaveFileDialog Class -->
+
+<section id="clsShellItemFilter" xreflabel="ShellItemFilter"><title>ShellItemFilter Class</title>
+<indexterm><primary>ShellItemFilter class</primary></indexterm>
+<para>
+  A ShellItemFilter object ...
+</para>
+<para>
+  xx
+</para>
+
+<section id="sctMethodsShellItemFilter"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>ShellItemFilter</computeroutput> class:
+
+<table id="tblMethodsShellItemFilter" frame="all"> <title>ShellItemFilter Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1.5in">
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry>new</entry>
+<entry><link linkend="mthNewClsShellItemFilter">new</link></entry>
+</row>
+<row>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Instance Methods</emphasis></entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthNewClsShellItemFilter"><title>new (Class Method)</title>
+<indexterm><primary>new</primary><secondary>ShellItemFilter class</secondary></indexterm>
+<indexterm><primary>ShellItemFilter class</primary><secondary>new</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--new(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details:</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End ShellItemFilter::new() -->
+
+<section id="mthIncludeItem" xreflabel="includeItem"><title>includeItem</title>
+<indexterm><primary>includeItem</primary></indexterm>
+<indexterm><primary>ShellItemFilter class</primary><secondary>includeItem</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--includeItem(--+--------+--)---------------------------------------------><
+                  +--type--+
+]]>
+</programlisting>
+
+<para>
+  xx
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>TERM</term>
+    <listitem>
+    <para>
+      xx
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    xx
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    Additional comments.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect usage is detected.
+  </para>
+  <para>
+    Sets the <link linkend="dotSystemErrorCode">.SystemErrorCode</link> variable.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example ...
+<programlisting>
+<![CDATA[
+
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End ShellItemFilter::includeItem() -->
+
+</section> <!-- End ShellItemFilter Class -->
+
+
+<section id="clsSimpleFolderBrowse" xreflabel="SimpleFolderBrowse"><title>SimpleFolderBrowse Class</title>
+<indexterm><primary>SimpleFolderBrowse class</primary></indexterm>
+<para>
+  The SimpleFolderBrowse object displays the Windows common Browse For Folder dialog and returns the user's selection. It is
+  a simplified version of the <xref linkend="clsBrowseForFolder"/> dialog that is designed to be easy to use, and does not
+  have as many configuration options as the <computeroutput>BrowseForFolder</computeroutput> object does.
+</para>
+<para>
+  The Windows common Browse For Folder dialog allows the user to select a folder from a tree-like display of the computer's
+  file system. The Browse For Folder dialog is specifically for opening or choosing folders.
+</para>
+
+<section id="sctMethodsSimpleFolderBrowse"><title>Method Table</title>
+<para>
+  The following table lists the class and instance methods of the <computeroutput>SimpleFolderBrowse</computeroutput> class.
+  This simple to use dialog only has a single class method:
+
+<table id="tblMethodsSimpleFolderBrowse" frame="all"> <title>SimpleFolderBrowse Class Method Reference</title>
+<tgroup cols="2">
+<colspec colwidth="1*" />
+<colspec colwidth="3*" />
+<thead>
+<row>
+<entry>Method</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+<entry align="center"><emphasis role="bold">Class Methods</emphasis></entry>
+</row>
+<row>
+<entry><xref linkend="mthGetFolderClsSimpleFolderBrowse"/></entry>
+<entry>Pops up the Browse For Folder Windows dialog and returns the user's selection.</entry>
+</row>
+</tbody></tgroup>
+</table>
+</para>
+</section>
+
+<section id="mthGetFolderClsSimpleFolderBrowse" xreflabel="getFolder"><title>getFolder (Class Method)</title>
+<indexterm><primary>getFoder</primary><secondary>SimpleFolderBrowse class</secondary></indexterm>
+<indexterm><primary>SimpleFolderBrowse class</primary><secondary>getFolder</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>--getFolder(--+---------+-------+-+------ +-+---------+-+--------+-+---------+--)--><
+                +--capt-+ +-,-bnr-+ +-,-hnt-+ +-,-start-+ +-,-root-+ +-,-owner-+
+]]>
+</programlisting>
+
+<para>
+  Instantiates the Rexx SimpleBrowseFolder object, pops up the Windows Browse For Folder dialog, and returns the user's
+  selection in one step.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>capt [optional]</term>
+    <listitem>
+    <para>
+      Specifies a caption, or title, for the dialog. The Windows default title is <emphasis role="italic">Browse For
+      Folder</emphasis>.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>bnr [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for what Windows calls the <emphasis role="italic">banner</emphasis> for the dialog.  This string
+      is displayed above the tree view control in the dialog box. The string can be used to specify instructions to the user.
+      By default nothing is displayed for the banner and the area above the tree view is blank.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>hnt [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for a <emphasis role="italic">hint</emphasis> in the dialog. The hint is displayed below the
+      bottom of the tree view control and above the bottom row of buttons of the dialog. By default there is no hint, and
+      the area where the hint would go is removed from the dialog. That is, the bottom row of buttons is placed directly
+      below the tree view.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>start [optional]</term>
+    <listitem>
+    <para>
+      Specifies an initial selected folder for the dialog. By default, the dialog opens with the top-most item in the tree
+      view selected. If a start folder is specified, the folder is selected and, if needed, the tree view items are expanded
+      and the tree view is scrolled so that the starting folder is visible in the tree view.
+    </para>
+    <para>
+      Testing indicates that the folder specified must be a fully qualified path name of an existing directory. If not, the
+      operating system seems to just ignore it.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>root [optional]</term>
+    <listitem>
+    <para>
+      Specifies the root for the tree view in the dialog. The root is the location of the root folder from which the user
+      starts browsing. Only the specified folder and any subfolders that are beneath it in the namespace hierarchy
+      will appear in the dialog box. The user can not browse above the root folder. If this argument is omitted, the
+      operating system uses the namespace root (the desktop folder.)
+    </para>
+    <para>
+      Specify either a fully qualified file system path name, or use one of the <xref linkend="sctSpecialFolderNames"/>.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>owner [optional]</term>
+    <listitem>
+    <para>
+      The Rexx dialog object that is to be the owner window of the browse for folder dialog. The owner dialog is disabled
+      until the browse for folder dialog is closed by the user.
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    If the user cancels the dialog, the empty string is returned, otherwise the fully qualified path to the folder the user
+    picked is returned. However it is possible to set up the dialog in a way such that the user can pick a virtual folder.
+    Virtual folders do not have a file system path. The <computeroutput>.nil</computeroutput> object is returned if a virtual
+    folder is picked.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The <computeroutput>SimpleFolderBrowse</computeroutput> dialog is intended to be simple to use and is restricted to file
+    system paths. The Windows Browse For Folders dialog has more capabilities than can be accessed through the
+    <computeroutput>SimpleFolderBrowse</computeroutput> class, but the capabilities are less likely to be useful in most
+    ooRexx programs. The <xref linkend="clsBrowseForFolder"/> class allows access to all features of the Windows Browse For
+    Folders dialog, but it is correspondingly more complex to use.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect arguments are detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example puts up the Browse For Folder dialog and gets the user's selection:
+<programlisting>
+<![CDATA[
+
+  folder = .SimpleFolderBrowse~getFolder
+
+  select
+      when folder == .nil then text = 'The user picked a virtual folder'
+      when folder == '' then text = 'The user canceled'
+      otherwise text = 'The user picked:' folder
+  end
+  -- End select
+
+  say text
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End SimpleFolderBrowse::new() -->
+
+</section> <!-- End SimpleFolderBrowse Class -->
+
+
+<section id="rtnSimpleFolderBrowse" xreflabel="SimpleFolderBrowse"><title>SimpleFolderBrowse Routine</title>
+<indexterm><primary>SimpleFolderBrowse routine</primary></indexterm>
+<indexterm><primary>public routines</primary><secondary>SimpleFolderBrowse</secondary></indexterm>
+<programlisting>
+<![CDATA[
+>>-SimpleFolderBrowse(-+-------+-+-------+-+-------+-+--------+-+------+-+--------+-)-><
+                       +--capt-+ +-,-bnr-+ +-,-hnt-+ +-,-strt-+ +-,-rt-+ +-,-ownr-+
+]]>
+</programlisting>
+
+<para>
+  Brings up the Windows <emphasis role="italic">Browse For Folder</emphasis> dialog, allowing the user to select a folder in
+  the file system.
+</para>
+<variablelist>
+  <varlistentry><term><emphasis role="bold">Arguments:</emphasis></term>
+  <listitem>
+  <para>
+    The arguments are:
+  </para>
+  <variablelist>
+    <varlistentry><term>capt [optional]</term>
+    <listitem>
+    <para>
+      Specifies a caption, or title, for the dialog. The Windows default title is <emphasis role="italic">Browse For
+      Folder</emphasis>.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>bnr [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for what Windows calls the <emphasis role="italic">banner</emphasis> for the dialog.  This string
+      is displayed above the tree view control in the dialog box. The string can be used to specify instructions to the user.
+      By default nothing is displayed for the banner and the area above the tree view is blank.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>hnt [optional]</term>
+    <listitem>
+    <para>
+      Specifies text to use for a <emphasis role="italic">hint</emphasis> in the dialog. The hint is displayed below the
+      bottom of the tree view control, and above the bottom row of buttons of the dialog. By default there is no hint, and
+      the area where the hint would go is removed from the dialog. That is, the bottom row of buttons is placed directly
+      below the tree view.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>strt [optional]</term>
+    <listitem>
+    <para>
+      Specifies an initial selected folder for the dialog. By default, the dialog opens with the top-most item in the tree
+      view selected. If a start folder is specified, the folder is selected and, if needed, the tree view items are expanded
+      and the tree view is scrolled so that the starting folder is visible in the tree view.
+    </para>
+    <para>
+      Testing indicates that the folder specified must be a fully qualified path name of an existing directory. If not, the
+      operating system seems to just ignore it.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>rt [optional]</term>
+    <listitem>
+    <para>
+      Specifies the root for the tree view in the dialog. The root is the location of the root folder from which the user
+      starts browsing. Only the specified folder and any subfolders that are beneath it in the namespace hierarchy
+      will appear in the dialog box. The user can not browse above the root folder. If this argument is omitted, the
+      operating system uses the namespace root (the desktop folder.)
+    </para>
+    <para>
+      Specify either a fully qualified file system path name, or use one of the <xref linkend="sctSpecialFolderNames"/>.
+    </para>
+    </listitem></varlistentry>
+    <varlistentry><term>ownr [optional]</term>
+    <listitem>
+    <para>
+      The Rexx dialog object that is to be the owner window of the browse for folder dialog. The owner dialog is disabled
+      until the browse for folder dialog is closed by the user.
+    </para>
+    </listitem></varlistentry>
+  </variablelist>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Return value:</emphasis></term>
+  <listitem>
+  <para>
+    If the user cancels the dialog, the empty string is returned, otherwise the fully qualified path to the folder the user
+    picked is returned. However it is possible to set up the dialog in a way such that the user can pick a virtual folder.
+    Virtual folders do not have a file system path. The <computeroutput>.nil</computeroutput> object is returned if a virtual
+    folder is picked.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Remarks:</emphasis></term>
+  <listitem>
+  <para>
+    The <emphasis role="italic">SimpleFolderBrowse</emphasis> routine is just a shortcut to using the <xref
+    linkend="clsSimpleFolderBrowse"/> class. It is intended to be simple to use and is restricted to file system paths. The
+    Windows Browse For Folders dialog has more capabilities than can be accessed through this routine, but the capabilities
+    are less likely to be useful in most ooRexx programs. The <xref linkend="clsBrowseForFolder"/> class allows access to all
+    features of the Windows Browse For Folders dialog, but it is correspondingly more complex to use.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Details</emphasis></term>
+  <listitem>
+  <para>
+    Raises syntax errors when incorrect arguments are detected.
+  </para>
+  </listitem></varlistentry>
+  <varlistentry><term><emphasis role="bold">Example:</emphasis></term>
+  <listitem>
+  <para>
+    This example puts up the Browse For Folder dialog and gets the user's selection:
+<programlisting>
+<![CDATA[
+
+  folder = SimpleFolderBrowse()
+
+  select
+      when folder == .nil then text = 'The user picked a virtual folder'
+      when folder == '' then text = 'The user canceled'
+      otherwise text = 'The user picked:' folder
+  end
+  -- End select
+
+  say text
+]]>
+</programlisting>
+  </para>
+  </listitem></varlistentry>
+</variablelist>
+</section>  <!-- End SimpleFolderBrowse() -->
+
+
+</chapter> <!-- End Shell Objects -->
+