Welcome to EONTROL
Exontrol is devoted to create innovative user interface components for Windows applications, on /COM, /NET or /WPF platforms, since 1999. "eXontrol" comes from e(s)pecial (c)ontrol, where sc makes the X. Software development never stops. Neither do we. Our components are and will continue to be cutting edge development tools that adapt to the needs of our customers and to the changing software development environment. On this site you find components/tools/products/samples that are used in programming languages such as JavaScript, VB, VB.NET, VBA, C++, C#, X++, VFP, Access, Excel, Word, HTML, Delphi, Smalltalk, uniPaas (eDeveloper), Clarion, Dynamics AX, Dynamics NAV, xBasic, Visual Objects, Visual Dataflex, PowerBuilder, LabVIEW, Xbase++, AutoIt, Power++, FORTH, OpenEdge and so on...

The following movie shows the undo/redo feature

You can undo and redo your last design actions on the surface. To undo an action, press Ctrl + Z. To redo an undone action, press Ctrl + Y. The Undo and Redo features let you remove or repeat single or multiple UI actions, but all actions must be undone or redone in the order you did or undid them Ė you canít skip actions. For example, if you change the shape of three elements and then decide you want to undo the first change you made, you must undo all three changes. The feature will be available for eXSurface, eXSwimlane and eXSchedule /COM, /NET, /WPF and Javascript.

The following movie shows the ImageSize feature

The ImageSize property allows you to change the default icon size from 16 to any other value. In other words, ability to specify the size for icons, check-box, radio-buttons, expand-collapse glyphs and so on. The Images method allows app to load icons from files, streams or BASE-64 encoded strings. The ImageSize property should be defined before the Images method, so the correct resolution for ICO is chosen. This feature will be available for all UI controls that support Images method.

The following movie shows the first-look of the newly eXComboBox/JS tool

The ExComboBox/JS tool allows you to display a drop-down panel (Bezier, Calendar, Gantt, Gauge, Menu, OrgChart, Pivot, RadialMenu, Schedule, ScrollBar, Surface, SwimLane Tree or any other HTML element) once the user clicks a button. For instance, you can select a different item from a drop-down tree or list control, or you can select a different date from a drop-down calendar control. The ExComboBox/JS is a HTML standalone-component, written in JavaScript, that uses no third-party libraries.

The following movie shows how you can do drag and drop between JavaScript components

The movie shows how you can implement drag and drop between JavaScript components. The drag and drop between HTML elements of the web page is possible by implementing the ExDrop(event, data) method. The event parameter holds information about the mouse/touch event once the element has been dropped. The data parameter holds information about the source-object that initiated the drag and drop operation, as an object of {object, source, client, shape} type.

The following movie shows how you can define hot-colors for ExTab component

The video shows how you can define the skin-object to highlight once the cursor hovers a page of the tab control. A tab control is analogous to the dividers in a notebook or the labels in a file cabinet. By using a tab control, an application can define multiple pages for the same area of a form or dialog box. Each page consists of a certain type of information or a group of controls that the application displays when the user selects the corresponding tab. The feature is available for /COM and /NET versions.
*Added: FilterBarVisibleEnum.exFilterBarTop (0x2000) flag aligns the control's filter-bar to the top of the control. The filter-bar is displayed right-below the control's header-bar. By default, the control's filter-bar is aligned to the bottom (FilterBarPromptVisible property)
*Added: The frame around the the focus cell gets inflated based on Column.Def(exCellPaddingLeft), Column.Def(exCellPaddingRight), Column.Def(exCellPaddingTop), Column.Def(exCellPaddingBottom) (ShowFocusRect property, Background(exShowFocusRect))
*Added: The Images method supports the Microsoft ImageList ( mscomctl.ocx, MSComctlLib.ImageList type) object directly. Shortly, you can define the control's images by calling Images(ImageList1.Object). The ImageList1.Object returns the object of MSComctlLib.ImageList type. The Microsoft ImageList object is available for /COM on x86 and x64 machines (starting from Access 2016)
*Fixed: The vertical grid lines overrides the frame around the focus cell (ShowFocusRect property, DrawGridLines property)
*Added: Update the samples to support x64 configuration (/COM version)
*Fixed: No control frame is shown in design-mode under MS Excel's spreadsheet
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)
*Fixed: The HeaderSingleLine property is ignored if the control's header displays multiple levels of columns (Column.LevelKey property)
*Fixed: The vertical-scroll bar is not shown/hidden once the column gets resized (Def(exCellSingleLine) property)
*Added: The state of the newly inserted child-item is automatically set on 1, if the column-partial check feature is enabled and the parent-item's state is 1 (Items.CellState, Column.PartialCheck)
*NEW: Ability to specify the size to show the icons within the control
*Added: ImageSize property specifies the size of the control' icons. By default, the ImageSize property is 16. The control's Images collection is cleared if the ImageSize property is changed, so it is recommended to set the ImageSize property before calling the Images method. The ImageSize property defines the size (width/height) of the icons within the control's Images collection. For instance, if the ICO file to load includes different types the one closest with the size specified by ImageSize property is loaded by Images method. The ImageSize property does NOT change the height for the control's font.
*Added: TemplateDef/TemplatePut property allows defining inside variables for the Template feature ( available for /COM only, and useful to assign properties with multiple parameters, which is not supported in dBASE )
*NEW: Z-Events support (Standard .NET event patterns)
*Added: Every event of the control (/NET assembly) provides a Z-Event alternative, of "void OnEventRaised(object sender, EventArgs args)" type. The .NET convention is for an event (Z-event) signature to have a void return and 2 parameters. The first parameter is of type System.Object and is the sender of the event. The second parameter must be of type System.EventArgs or derived from System.EventArgs and contains data passed between sender and receiver. For instance, the "DblClick(object sender, short Shift, int X, int Y)" event is equivalent to "ZDblClick(object sender, ZDblClickArgs e)", where "ZDblClickArgs" type is derived from System.EventArgs and includes definitions for Shift, X and Y properties
*Fixed: "Warning: The <event-name> event is a .NET event that does not follow the .NET convention for event signatures (OpenEdge, ABL code)". To prevent this warning, under OpenEdge environment you must use the Z-event alternatives 
*Added: The control's tooltip is shown when the cursor hovers it no matter if the window that hosts the control is activated
*Fixed: The AttachTemplate method fails if using "handle" keyword on x64 version
*Fixed: The expropertieslist/com fails if the user is trying to spy the control (x64 version only, AllowSpy property, browses the object by drag and drop)