Monday, February 12, 2007

I love OCX

During these last days I've working with the OCX and ActiveX issue using Xailer, Visual xHarbour (finally I found where de ActiveX support is), FreeWin and FiveWin, because I'm preparing our Xailer's Advanced Course, and we are going to see ActiveX in deep in May.

Sufing the Internet and as mentioned in the FiveWin News Group, I found these nice ActiveX controls by CodeJock Software, I just have a single word to describe them... IMPRESIVE, but not cheap: $ 575.00 USD for the Xtreme ToolKit, which includes 9 fancy controls, with 1 single user license.

Documentation for these product is absolutly commited to be used under Visual Basic, fortunatly the documentation is complete talking about Property, Events, Methods, Enumerations and all other objects contained as control's data, you will also find source code samples and if you are fluent with OOP in xHarbour you will have them working with your favorite GUI in short time.

The controls included in the Xtreme ToolKit are:

Full OutLook Calendar, 100% customizeable, with hundreds of components that let you give your application a complete "day plannig" features for example for agendas, personal timing and planning, etc.



Command Bar, Office Style, you can place anything you want in these toolbars, including menus, so you can move, resize, change position, float them, etc. this control includes also the world famous Office 2007 Ribbon bar:




Docking Pane: These "movable panels" are gorgeous, the suite also includes a "bonus" control, the TAB Control to substitute the typical XP Folders, these folders features multiline tabs, and the tabs can be horizotals or verticals:



PropertyGrid: These is a "property browse" you can set your main Categories and then add sub-categories, and movable sections that open and closes, something similar to the Xailer or Visual xHarbour Object Inspector.



You are going to love the Report control, this is a data browse that supports millons of data lines, the difference with other browses you will find is that not only the columns are cutomizables but THE ROWS also can be !, you can have a several rows for each data register, these row can be "shrinkable" or "expandable" can hold images, actions, etc, etc, etc. This control can also "connect" itself to a SQL Server or MySQL database to retrieve data, ah ! by the way, you can also print the data, that's why is called "Report".



Shortcut Bar: just like the Outlook bar, very easy to customize, and if you place it inside a Xailer panel, looks great ! (download the sample at the end of this article).




Skin: Have you ever wanted to ge the rid off those boring Windows XP themes, and go for something more "cool" for your interface ???, now is your chance, using the "skin" control, which adds independent skins to your Windows or Dialogs, these themed windows are independent of the themes you are using, the skins will also work under Windows 98 or NT so you will have different windows for your application.



Task Panel: For the most of us working with Xailer, this control is native, but if we are working with other GUIs give them a try to include Explorer Bars for a great look.



These controls are compatible with the all the xHarbour compatible GUIs, the easy way to use them is with Xailer or with Visual xHarbour, because both have an "import Activex" tool include in the IDE, and to be honest, with two clicks under Xailer and you will get a .PRG file with a class source code to call the OCX control of your choice, and the header file (.CH) with all the "Enumerations" (predefined constants) needed to use the control.

The classes created, along with che CH file, lets you to instance the control and place it into any Xailer form using the OnInitialize event, this saves you a bunch to coding time.

Sorry to mention, no ofence, but you will find hard to use these tools under FiveWin, starting with the OCX support, limited to version 2.6 and greater (don't worry if you have an early version, keep reading).

The main problem with FWH and these OCX is the documentation, in this case, the documentation doesn't have an apendix with the numeric value of the "enumerations" needed to make the control work with FiveWin, you will need an external tool, such as DLL Explorer to get the numeric values, and on the other hand, there are certain events in the controls that FiveWin cannot handle in a proper way, so, my best advice is ......

To use FreeWin !, if you have an earlier version of FiveWin 2.6, you can use these controls in your program, download from the FreeWin's web site the OCX Support (you can use it also with FW 2.6 and upper, replacing the native FiveWin's OCX support), this is the easiest way to squeeze all the power of these OCX because the Oskar Lira OCX support handles in a very easy way, yet elegant all the control's event stuff, is by far superior to FiveWin's.

I have written a tiny Xailer project, so you can look by yourself these controls full in action, to test them you need:

* Xailer 1.2b (obviously)
* xHarbour compatible with Xailer 1.2
* To install the CodeJock OCX that you may download from de www.codejock.com, section Downloads, download the ActiveX version, and forget about .NET.

Due to the lack of time, I couldn't write a sample for every control in the suite, but I think that with these samples you will have a good idea of how easy is to create professional good looking applications using this OCX.

You can download the project clicking here I have included the EXE also just in case you don't have Xailer at hand, but remember, you will need to have the CodeJock OCX installed to see the demo in action.