While consulting for a local pharmaceutical drug-discovery company, I created the following ActiveX tool to greatly simplify application development.
Six instances of the same control are shown with different property settings.
Each instance of the control is resizable at design and runtime. Custom Mouse (Up, Down and Over) and click events return key values relating to the "dot" the mouse is addressing. Custom Raised events allow any number of user-defined properties to be set, tested and read. Each of the 6 shown "instances" of the control represent blocks of sorting targets that mirror the physical counterparts in a robotic sorter application where each "dot" represents a test tube in a carrier and each rectangle represents a sorting bin. Each "dot" has common properties that support (x,y) coordinates, symbolic name, calibration status, etc. Because this ActiveX user control can be a member of a control array and the properties themselves are in variable arrays, the accessibility of any and/or all targets is easily managed.
An OCX like the one shown here can save literally man months when shared with multiple application programming groups. The reuse of such a control constitutes a breakthrough in conservation of both development manpower and deployment resources.