AccessMyLibrary provides FREE access to millions of articles from top publications available through your library.
BUSINESS CHARTING CONTROLS;
Chart FX 3.0 Software FX Inc.
First Impression 1.10 VisualTools Inc.
DATA GRID CONTROLS;
Data Widgets 1.0 Sheridan Software Systems Inc.
DataTable 2.5 ProtoView Development Corp.
Spread VBX 2.1 FarPoint Technologies Inc.
TrueGrid Pro 2.1c Apex Software Corp.
EXTENDED PALETTE CONTROLS;
Designer Widgets 1.0 Sheridan Software Systems Inc.
TabPro 1.1 FarPoint Technologies Inc.
VBTools 4 MicroHelp Inc.
WinWidgets VBX 3.0 Lifeboat Publishing (Voyager Software Corp.)
ImageKnife VBX 1.3 Media Architects Inc.
ImageMan VB 3.1 Data Techniques Inc.
ImageStream 1.01 VisualTools Inc.
Leadtools VBX 4.5 Lead Technologies Inc.
Barbie's gotta be jealous. With thousands of Visual Basic custom controls (VBXes) to choose from, a Visual Basic (VB) developer has an even larger wardrobe than she does. And not only are VBXes good-looking accessories -- adding a bit of oomph to an interface to rival even the glitteriest glitter-hair Barbie ensemble -- but they're practical. When's the last time you saw a Barbie perform a little I/O?
Unfortunately, just as there are dud Barbie duds -- dude ranch Barbie's yellow plastic and denim cowgirl getup comes to mind -- there are dud VBXes. We found some of them for you. We also found some gems -- versatile, useful products that will have you living in Barbie's dream house.
For this comparison, we focused on a few types of Visual Basic custom controls: business charting controls, data grid controls, extended palette controls, and imaging controls. We tested their installation and Visual Basic integration capabilities, the quality of their implementation and overall usefulness, and their aesthetics, including how closely they adhered to Windows standards and how easily an end-user would grasp their function. We also rated these VBXes on our standard categories of documentation, support, and pricing. (See "How we tested," page 83.)
A CLOSET OF COMPONENTS. Visual Basic custom controls are the ready-made parts you use to build programs in a component-based programming environment such as Microsoft Corp.'s Visual Basic. Originally developed by a little-known company called Cooper Software Inc., in Menlo Park, Calif., VBXes can be manipulated visually (within the Visual Basic programming environment), via a properties sheet (which lets you customize the object by typing new settings into a dialog) or by code that you write yourself.
The reality is that no matter where you are on the programming skill spectrum, some prepackaged components will save you time and effort. Many VBXes from smaller manufacturers were born out of the shops' internal expertise. And large VBX developers benefit from having their code tested by some of the most discriminating users: other developers.
VBXes are not as flexible as the full class hierarchies used in object-oriented programming environments. (VBXes offer encapsulation, but not inheritance or polymorphism, as full-fledged objects do.) Nonetheless, their ease of use, convenient default behaviors, and capability to be manipulated in a visual design environment have earned VBXes legions of users. Even amateur programmers can create professional user interfaces with only a few minutes of training. That's why thousands of free, shareware, and commercial VBXes are now available. It's also the reason why developers of other languages -- even object-oriented ones -- have adapted their products and programming environments to use them. Borland International Inc.'s Delphi environment, an object-oriented Pascal compiler with a front end similar to that of Visual Basic, can assimilate VBXes directly into its application framework. C++ compilers from Microsoft, Symantec Corp., Borland, and others can also access VBXes, though the ease with which programmers can incorporate the controls and visually manipulate them at design time varies from product to product.
PLAYTIME. Every VBX is really a Windows DLL that follows certain special conventions that enable it to connect to your program. A Visual Basic custom control can be customized for your specific application via three mechanisms: properties, methods, and events.
Properties are variables associated with a control; they may be read-only, write-only, or read/write. You can set the initial values of many properties at design time, either by manipulating the control with the mouse or by changing the control's properties sheet. For example, you might set the control's BackColor (background color) property to green when you build your program, so that it has a green background when it's first displayed. When your program changes a property at run time, it often has side effects; for instance, changing the Top or Left property (both of which are required by controls) instantly causes the control to reappear at a new location.
Events are triggered when something happens to the control -- for instance, when you click on it. When an event occurs, a subroutine that you've written is executed, allowing you to control the program's response. Good custom controls have default event handlers that produce useful -- or at least unobtrusive -- default behaviors. For example, the default handler for a button's Click event (triggered when the user clicks the mouse on the button) will produce a 3-D display that makes it looks as if the button has been pushed.
Methods are prewritten subroutines, built into the control, that perform useful functions related to the control. For example, invoking a control's Print method usually causes it to send its contents to the printer. Some methods return results to the calling program, in which case they are called functions.
In general, there are two types of VBXes: those that are invisible to the user (such as the built-in Timer control) and those that produce a display at run time. Visible controls typically are more complex, take up more memory, and require more experimentation to understand. A good visible control will produce a design-time display similar to what the user will see at run time; that is, a file directory control will show a list of file names, and a red button will be colored red as you position it on a Visual Basic form.
THE YOUNGER GENERATION. With the advent of the 32-bit Visual Basic 4.0 (due to be released some time this year), VBXes will effectively be obsolete. Instead, developers will have to use OCXes, or OLE 2.0 custom controls. Ironically, because of the overhead and complexity inherent in OLE 2.0, OCXes are larger and slower than their 16-bit counterparts. So why the move to a new standard with poorer performance? Microsoft has stated that it could not adapt VBXes to the 32-bit world. Borland, however, has introduced an excellent emulation DLL to use 16-bit VBXes within any 32-bit application. The real reason, according to most insiders, is that Microsoft hopes to tie developers to OLE -- and to its Common Object Model and proprietary operating environments. This would make it more difficult for developers who write for other operating systems -- such as IBM's Warp -- to use custom controls created for Visual Basic.
Because savvy Windows users will surely hesitate to move immediately to Windows 95 because of problems with the current beta and difficulties in stabilizing previous upgrades of Windows, many VBX vendors are offering their wares both in the 16-bit VBX format and the 32-bit OCX implementation. A special porting kit, released by Microsoft, will aid the conversion to OCXes. However, because porting is far from completely automatic, and because OLE 2.0 is extremely complex and poorly documented, there may still be some delays before all controls are available in both formats.
We expect VBXes to stick around longer than Microsoft intends (after all, people still use DOS), because application development environments and Visual Basic custom controls form one of the world's great partnerships. Barbie and Ken, Bill and Melinda, app dev and VBXes -- we wish them all many happy anniversaries.
Robert A. DelRossi is director of technology for Liberty Real Estate Group Inc., in Boston. His Internet address is email@example.com. Brett Glass writes InfoWorld's Help Desk column and can be reached on CompuServe at 72267,3673 or on the Internet at firstname.lastname@example.org.
Report Card Visual Basic custom controls
BUSINESS CHARTING CONTROLS:
Chart FX 3.0(*) Software FX Inc. Boca Raton, Fla. (800) 392-4278, (407) 998-2377
Installation and integration (50) Very Good 37.50 Chart FX lives up to its name by dressing up the standard Windows install procedure with a little graphics pizzazz. Installation and integration went smoothly. Chart FX earned a bonus for working with C/C++ environments.
Implementation (500) Excellent 500.00 Straightforward procedures and support for many chart types make Chart FX a winner. Using Chart FX is a simple matter of opening a communication channel, which then allocates memory through a function call; sending the data to be charted; then closing the channel. You can configure Chart FX to pop up an editable data grid at run time to change the data. Other configuration options include colors, fonts, and fill patterns. Chart FX also includes ways to link your data to third-party sources, including real-time data feeds. This makes it practical to use Chart FX in data monitoring or measurement applications. For working with more standard data sources, Chart FX is data aware, so it's easy to hook it to fields of a data table.
Aesthetics (200) Excellent 200.00 Chart FX's superb configuration options extend to run time; you can enable end-users of your application to customize charts by providing palette bars for choosing colors and patterns, performing data editing, and changing other aspects of a chart's design. Chart FX earned a bonus for providing all these end-user tools with pop-up help.
Support and pricing:
Documentation (100) Excellent 100.00 The manual is written well, providing side-by-side examples in C/C++ and Visual Basic. We found the answers to common questions especially useful. On-line help is superb in both content and appearance.
Support (75) Good 46.87 The technical support staff picked up the phone immediately and provided us with detailed, useful answers. Software FX's one-year support period is less than average; a toll-free line, a money-back guarantee, a CompuServe forum, and a fax-back system boosted its score.
Pricing (75) Good 46.87 Chart FX …