Control - Tools Toolbar

The Tools toolbar when used with forms hosts the most frequently used controls in Forms. There are many more controls available in the advanced tools toolbar. For advanced controls, see the Tools (Advanced) toolbar topic.


Click on a control in the Tools toolbar and then click and drag in the Form window to insert the control in the form in the position and size indicated by the mouse click and drag. Forms are then customized using the properties for each control.


Some attributes of controls, such as their size or position are properties not of the control but of the container for the control, in this case the Form itself. To change the size or position of controls we can simply click on them and resize or drag them to a new position.


Properties normally both return and set that particular property. The easiest way to edit properties is through the context menu's properties dialog for that control.


See the individual controls topics for details on each control.





Insert Check Box - Inserts check box controls.


Insert Option Button - Inserts option button controls. Only one option button in a group may be selected.


Insert Command Button - Inserts command button controls.


Insert Frame - Draws frame with caption. Frames are used to set off groups of controls, often option buttons.


Insert Text Box - Inserts text box. Also called an edit field or edit control. This control can display text entered by the programmer at design time or entered by the user or assigned to the control by other code at run time.


Insert List Box - Inserts list box controls.


Insert Combo Box - Inserts combo box controls.


Insert Horizontal Scroll Bar - Inserts horizontal scroll bar controls.


Insert Vertical Scroll Bar - Inserts vertical scroll bar controls.


Lightweight Controls


Manifold System implements the above controls using Microsoft's "windowless" lightweight ActiveX controls found in the Microsoft MSWLess.ocx file. Lightweight controls do not have an hWnd property, which dramatically conserves computer resources and enables rapid launch. Also, Dynamic Data Exchange (DDE) is not supported within lightweight controls. In all other aspects the lightweight version of the control works exactly the same as the standard VB version. There is a simple "group" substitute in the one case where the windowless nature of the controls has an effect, and there are many other choices other than DDE within Microsoft data access methodology. For these reasons, use of lightweight controls has no negative impact in scripts.


Microsoft's MSWLess.ocx ActiveX controls used within Manifold are Unicode-enabled. Following standard Windows practise, no conversion of Unicode data occurs when used within a Unicode-aware operating system such as Microsoft Windows Server 2003, Windows XP or Microsoft Windows 2000. The control will pass data with no conversion involved in such systems. When used within non-Unicode-enabled operating Windows editions (so long as such may be supported), data will be converted from ANSI to Unicode and back.


Note: All properties and controls from the lightweight series are prefaced with "wl" to indicate they are the windowless lightweight versions of the controls and properties settings. The "wl" prefix is suppressed in the documentation below to enhance legibility.


Using the Group Property


For the most part, the windowless nature of Microsoft lightweight controls does not interfere with the creation of whatever form we like. The key exception is the use of frames to group option buttons. In VB, frames are windows and will automatically group controls, such as option buttons, within them. This lets the system automatically require that only one option button within the same frame be chosen. It is standard practice within VB to segregate OptionButton controls within their own Frame control.


With windowless controls, we need to set the group property of each object that is to be in a particular group to the same unique string. For example, we might draw a frame called Truck Display Options that included three option buttons labeled Ahead, On Time and Delayed. Assuming we named our option buttons in a way that is easy to remember, we could assign each of these three option buttons to the same group with:


Ahead.Group = "TruckDisplayOption"

OnTime.Group = "TruckDisplayOption"

Delayed.Group = "TruckDisplayOption"


The string can be whatever we want it to be as long as it is unique for each group desired. It's usually wise to use a string that is self-documenting.


The above is not necessary with VB, but then again in VB it is really easy to not create controls in a form in the right order and so end up thinking that a control is in a frame when it is not (it's just positioned above the frame). Declaring the group property for each option button in the above explicit fashion eliminates such possible errors.


Other Controls


The controls in the Tools (Advanced) toolbar as well as all other controls in .ocx files provided with manifold are implemented using standard Microsoft window controls having an hWnd property.


Form Properties for Controls


Manifold adds an extra tab, the Control tab, to the usual tabs that appear in the design time properties dialog for controls. This tab provides access to the properties for this control maintained by the form. This extra tab will appear at design time for all controls. Although strictly speaking these are properties of the form that is the container for the control and not of the control, they are easiest to specify at design time if they appear within each control's properties dialog.





The name used by the form to identify this control.


A string available for free use by the programmer. Often used for comments.


Left margin position of the control.


Top margin position of the control.


Width of the control.


Height of the control.


Make this control visible or invisible.