IFileDialogCustomize interface

Exposes methods that allow an application to add controls to a common file dialog.


The IFileDialogCustomize interface has these methods.

Method Description
IFileDialogCustomize::AddCheckButton Adds a check button (check box) to the dialog.
IFileDialogCustomize::AddComboBox Adds a combo box to the dialog.
IFileDialogCustomize::AddControlItem Adds an item to a container control in the dialog.
IFileDialogCustomize::AddEditBox Adds an edit box control to the dialog.
IFileDialogCustomize::AddMenu Adds a menu to the dialog.
IFileDialogCustomize::AddPushButton Adds a button to the dialog.
IFileDialogCustomize::AddRadioButtonList Adds an option button (also known as radio button) group to the dialog.
IFileDialogCustomize::AddSeparator Adds a separator to the dialog, allowing a visual separation of controls.
IFileDialogCustomize::AddText Adds text content to the dialog.
IFileDialogCustomize::EnableOpenDropDown Enables a drop-down list on the Open or Save button in the dialog.
IFileDialogCustomize::EndVisualGroup Stops the addition of elements to a visual group in the dialog.
IFileDialogCustomize::GetCheckButtonState Gets the current state of a check button (check box) in the dialog.
IFileDialogCustomize::GetControlItemState Gets the current state of an item in a container control found in the dialog.
IFileDialogCustomize::GetControlState Gets the current visibility and enabled states of a given control.
IFileDialogCustomize::GetEditBoxText Gets the current text in an edit box control.
IFileDialogCustomize::GetSelectedControlItem Gets a particular item from specified container controls in the dialog.
IFileDialogCustomize::MakeProminent Places a control in the dialog so that it stands out compared to other added controls.
IFileDialogCustomize::RemoveAllControlItems Not implemented.
IFileDialogCustomize::RemoveControlItem Removes an item from a container control in the dialog.
IFileDialogCustomize::SetCheckButtonState Sets the state of a check button (check box) in the dialog.
IFileDialogCustomize::SetControlItemState Sets the current state of an item in a container control found in the dialog.
IFileDialogCustomize::SetControlItemText Sets the text of a control item. For example, the text that accompanies a radio button or an item in a menu.
IFileDialogCustomize::SetControlLabel Sets the text associated with a control, such as button text or an edit box label.
IFileDialogCustomize::SetControlState Sets the current visibility and enabled states of a given control.
IFileDialogCustomize::SetEditBoxText Sets the text in an edit box control found in the dialog.
IFileDialogCustomize::SetSelectedControlItem Sets the selected state of a particular item in an option button group or a combo box found in the dialog.
IFileDialogCustomize::StartVisualGroup Declares a visual group in the dialog. Subsequent calls to any "add" method add those elements to this group.


When to Implement

IFileDialogControlEvents is implemented on the file dialog object.

Controls are added to the dialog before the dialog is shown. Their layout is implied by the order in which they are added. Once the dialog is shown, controls cannot be added or removed, but the existing controls can be hidden or disabled at any time. Their labels can also be changed at any time.

Container controls are controls that can have items added to them. Container controls include combo boxes, menus, the drop-down list attached to the Open button, and any option button groups. The order that items appear in a container is the order in which they were added. There is no facility for reordering them. IDs are scoped to the parent control. Container controls, with the exception of menus, have a selected item.

Items with a container control cannot be changed after they have been created, except for their enabled and visible states. However, they can be added and removed at any time. For example, if you needed to change the text of a menu, you would have to remove the current menu and add another with the correct text.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)