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