Mastering DeltaV Operate > Optimizing DeltaV Operate

Using ActiveX controls

You can and should use ActiveX controls to add functionality to your pictures. However, it is important to use these controls wisely and in moderation. The following subsections detail some of the finer points of using ActiveX controls in your pictures.

Using Windowless Controls

Use windowless controls whenever possible. These controls process messages faster and draw faster than their windowed counterparts.

When you are developing your pictures and developing any new controls, remember that windowless controls go behind shape objects in your displays; windowed controls will never go behind shapes. You can use this information to test whether a control is windowed or windowless in the following way:

  1. Place the control in a picture.

  2. Draw a rectangle in the same picture.

  3. Select the control and then select Send to Back from the Format menu.

Using Shapes Instead of ActiveX Controls

Generally, shapes are faster than ActiveX controls, so wherever possible, use shapes instead. 

Animations on ActiveX Controls

Minimize the use of animations on ActiveX controls. Using animation on an ActiveX control can be slow and expensive to the system's resources.

Keeping Message Reflection Enabled

To improve the performance of your controls, we recommend that you keep Message Reflection enabled, which is the default setting, unless a specific control requires it to be disabled. As examples, the MSTreeView control and the MSUpDown control both need message reflection disabled.

Some messages are normally sent to the parent control. Under normal conditions, these messages are actually reflected back to the sending control, so that the control can handle its own message. This message reflection can be handled by the container, which will reflect the messages back as events.

Message reflection is an ambient property of the container. The message reflection feature is relevant to controls that are implemented by sub-classing a windows control. DeltaV Operate supports message reflection to gain performance. If the container does not support message reflection, then every sub-classed control creates an extra window around itself.