Skip to content
  • There are no suggestions because the search field is empty.

Symbol Factory ActiveX Controls will not stay on top of Industrial Gadgets ActiveX Controls

When using the Industrial Gadgets ActiveX controls and trying to put Industrial Gadgets behind Symbol Factory ActiveX controls, the Industrial Gadgets ActiveX objects always end up on top?  Why is this?  Are the ActiveX controls not respecting the Z-Order (send to back, bring to front) commands? 

First some background:
------------------------

There are two types of ActiveX controls that Microsoft offered - Windowed and Windowless.  Windowless controls were strongly advocated by Microsoft because of better performance and because they allowed TRUE background transparency.  Because of the nature of Symbol Factory ActiveX where people would put elements next to others, i.e. piping diagrams, we implemented it as a windowless control.

The Industrial Gadgets were made as windowed controls and were made about 5 years after the Symbol Factory.  They were made as windowed controls because we had found that many HMI applications couldn't use the background transparency in Symbol Factory ActiveX and we didn't' want that issue with Industrial Gadgets.  

We knew when we made this choice without totally rewriting Symbol Factory ActiveX to make it Windowed, this might occur at times but we cannot overcome every limitation of Windows.

Now, quoting from MSDN:
----------------------------
All windowed elements paint themselves on top of all windowless elements, since the windowless elements are all drawn on the same window, which has to be on the bottom if the windowed elements are to be seen at all.

However, windowed elements do follow the z-index attribute with respect to each other, just as windowless elements follow the z-index attribute with respect to each other. The reasoning for this is that windowless elements and windowed elements draw on separate planes or layers. You can use z-index to manipulate elements on the same plane, but not to mix and match with elements in different planes. You can rearrange the z-indexing of the elements on each plane, but the windowed plane always draws on the top of the windowless plane.
-----------------

Windowed Elements = Industrial Gadgets ActiveX controls
Windowless Elements = Symbol Factory ActiveX Controls

At the end of the day the issue is that the Windows operating system always puts Windowed controls on top of Windowless controls.   So Industrial Gadgets ActiveX Controls will always end up on top of Symbol Factory ActiveX controls.

We know this is not the answer that our users wish to hear but it is the nature of ActiveX controls and we have to live with the constraints of the operating system and its associated technologies.