Compartilhar via


Control Settings, MFC ActiveX Control Wizard

 

The latest version of this topic can be found at Control Settings, MFC ActiveX Control Wizard.

Use this page of the wizard to specify how you want the control to behave. For example, you can base the control on standard Windows control types, optimize its behavior and appearance, or indicate that the control can act as a container for other controls.

For more information about how to select options on this page to maximize the efficiency of the control, see MFC ActiveX Controls: Optimization.

UIElement List

Create control based on
On this list, you can select the kind of control from which your control should inherit. The list is a subset of the control classes that are available for CreateWindowEx and additional common controls that are specified in commctrl.h. Your selection determines the style of the control in the PreCreateWindow function in the ProjNameCtrl.cpp file. For more information, see MFC ActiveX Controls: Subclassing a Windows Control.

Control Description
BUTTON A Windows button control
COMBOBOX A Windows combo box control
EDIT A Windows edit box control
LISTBOX A Windows list box control
SCROLLBAR A Windows scroll bar control
STATIC A Windows static control
msctls_hotkey32 A hot key common control
msctls_progress32 A progress bar common control
msctls_statusbar32 A status bar common control
msctls_trackbar32 A track bar common control
msctls_updown32 A spin button (or up-down) common control
SysAnimate32 An animation common control
SysHeader32 A header common control
SysListView32 A list view common control
SysTabControl32 A tab common control
SysTreeView32 A tree view common control

Activates when visible
Specifies that a window is created for the control when it is accessed. By default, the Activates when visible option is selected. If you want to defer control activation until the container requires it (for example, when a user clicks the mouse), clear this option. When this feature is off, the control does not incur the expense of window creation until it is required. For more information, see Turning off the Activate When Visible Option.

Invisible at run time
Specifies that the control has no user interface at run time. A timer is a kind of control that you might want to be invisible.

Has an About box dialog
Specifies that the control has the standard Windows About dialog box, which displays version number and copyright information.

Note

How the user accesses help for the control depends on how you have implemented the help and whether you have integrated the control help with the container help. For more information about how to integrate help, on the MSDN Library website, search for "Adding Context-Sensitive Help to an MFC ActiveX Control".

When you select this option, it inserts the AboutBox control method in the project control class (CProjNameCtrl.cpp) and adds AboutBox to the project dispatch map. By default, this option is selected.

Optimized drawing code
Specifies that the container restores the original GDI objects automatically after all the container controls, which are drawn to the same device context, have been drawn. For more information about this feature, see Optimizing Control Drawing.

Windowless activation
Specifies that the control does not produce a window when it is activated. Windowless activation allows for nonrectangular or transparent controls, and a windowless control requires less system overhead than a control that has a window requires. A windowless control does not allow for an unclipped device context or flicker-free activation. Containers that were created before 1996 do not support windowless activation. For more information about how to use this option, see Providing Windowless Activation.

Unclipped device context
Overrides COleControl::GetControlFlags in the control header (projnamectrl.h) to disable the call to IntersectClipRect made by COleControl. When you select this option, it provides a small speed advantage. If you select Windowless activation, this feature is not available. For more information, see Using an Unclipped Device Context.

Flicker-free activation
Eliminates the drawing operations and the accompanying visual flicker that occur between the active and inactive states of the control. If you select Windowless activation, this feature is not available. When you set this option, the noFlickerActivate flag is one of the flags that are returned by COleControl::GetControlFlags. For more information, see Providing Flicker-Free Activation.

Available in Insert Object dialog
Specifies that the control will be available in the Insert Object dialog box for enabled containers. When you select this option, the afxRegInsertable flag is one of the flags that are returned by AfxOleRegisterControlClass. By using the Insert Object dialog box, a user can insert newly created or existing objects into a compound document.

Mouse pointer notifications when inactive
Enables the control to process mouse pointer notifications, whether control is active or not. When you select this option, the pointerInactive flag is one of the flags that are returned by COleControl::GetControlFlags. For more information about how to use this option, see Providing Mouse Interaction While Inactive.

Acts as a simple frame control
Specifies that the control is a container for other controls by setting the OLEMISC_SIMPLEFRAME bit for the control. For more information, on the MSDN Library website, search for "Simple Frame Site Containment".

Loads properties asynchronously
Enables a reset of any previous asynchronous data and initiates a new load of the asynchronous property of the control.

See Also

MFC ActiveX Control Wizard
Application Settings, MFC ActiveX Control Wizard
Control Names, MFC ActiveX Control Wizard