This article was brought to you by the guys from VDF-GUIdance.
For more DataFlex targeted articles see

Welcome to the cWindowsEx framework!

The cWindowsEx framework is a set of the WinAPI Classes and supplement tools. For Visual Dataflex(R) 7 and higher. Most of these classes are the wrappers to the external Windows Common Controls and system DLLs (Like the Kernel, User or GDI).


Includes most of the packages to be compiled into the application.

cBaseWinControl.pkg / cBaseWinControl.h

Includes cBaseWinControl class (Based on cWinControl superclass) definition and expanded with some additional standard Windows Common controls features like hot tracking, tool tips, bitmaps etc. Most of the cWindowsEx framework visual classes have been based on this class.

cDateTimePick.pkg / cDateTimePick.h

These packages include the Standard Windows DateTimePick control that allows the user to select date or time using simple built-in calendar and/or Up/down buttons. Appears as a combo- or spin- form. Uses only Windows Common Controls library. The control can display a date or time and allows you to modify it.


Includes cEnumRegistryKey class definition. This support class allows to enumerate any Windows registry branch. Supports both - keys and values enumeration.


This package enables you to enumerate thru files and folders on a windows box. It works with the windows API and creates a object oriented interface to work with the data. There is no userface attached anywhere, so that you can safely use this from both VDF as well as WebApp.


Allows to format output generated by your application into the HTML or RTF formats.

cMonthCal.pkg / cMonthCal.h

This Windows control allows the user to select date or time using simple builtin Windows calendar.


Allows split windows vertically or horizontally and resize these parts. Written by Vincent Oorsprong.


Part of The Hammer project. Does not use sentinel and allows you to show simple progress on some batch operations.

cSysLink.pkg / cSysLink.h

Windows SysLink Common Control class definition.

cWinBaseEx.pkg / cWinBaseEx.h

Set of the functions to provide basic features. These functions allow you to get the Windows profiles directory, All users profiles directory, Default user profiles directory and the User's name.

cWinButton.pkg / cWinButton.h

Extended button control that allows bitmaps and text on the button face, supports standard cWindowsEx control functionality, font and color schemas.


Includes some additional code to support cWindowsEx visual controls.

cWinError.pkg / cWinError.h

Handler for Windows errors. Introduces new command "WError" that works similar to the standard VDF "Error" command and is completely integrated into the VDF error processing engine.


Defines very powerful MS Windows file system class that allows open, read and write any file of the file system. Additionally, this package includes some extra functionality like Execute file, check if file exists, get some file attributes (Created, Last write etc), can return file title, file path or file size using standard function call. Introduces new variable type "FileSystem" that may be used like any other local variable. Not limited to the standard 10 channels VDF output. Originally written by Allan Kim Eriksen (AkeFS).


Very fancy control. Part of The Hammer project. Contains a class for Folder Tabs just like the Worksheet selector in M$ Excel. Originally written by Bernhard Ponemayr.


Includes number of functions to aid in binary operations like Shift Left, Shift Right, ROL, INOT, XOR and much more. Originally code has been written by Oliver T. Nelson and Sture Anderson.


Utilises Windows API GDI Interface.


Supplemental function to draw gradients in custom user controls.


Defines cWinImageList class and supports 24 bit colors for any VDF control that supports Image Lists (like cToolBar, cTabDialog, cListView, cTreeView and others).

cWinKernEx.pkg / cWinKernEx.h

Includes a set of supplemental methods and external functions definitions for the Windows Kernel Interface.


Allows you to get complete information about a user's keyboard.


Defines cWinLink class that appears just like any other hyperlink in the application. May accept any action and does have a very fancy behaviour. May have any target as per standard hyperlink - http, nntp, mailto and any others.

cWinListView.pkg / cWinListView.h

A DataFlex class to support the Windows' ListView class. This class supports nearly all of the features available in the windows cListCtrl class. Most of the missing features are not available because they cannot be properly supported from within VDF. The original author is Oliver T. Nelson.

cWinNetWk.pkg / cWinNetWk.h

Supplement function definitions that allow you to get extended information about Windows network drives and determine if the drive specified is a network drive.

cWinNls.pkg / cWinNls.h

Supplement packages for the Windows locale support.


Supplement package for the interface to the Windows OLE components.

cWinPathEx.pkg / cWinPathEx.h

Supplemental package that defines a number of functions to examine the Windows path specified. With this you can get the following information like, does the specified path exists, is it a directory, is it a file path, is it a network path, server path or url along with any other useful information about paths.


Defines cWinPlatform class. Allows you to retrieve sophisticated information about Operation System used on User's PC. Can obtain full operation system name, revision entries, service pack details and much more.


Defines interface to WinAPI function EnumProcessModules. Originally written by Ulbe Stellema and Vincent Oorsprong.

cWinShellEx.pkg / cWinShellEx.h

Defines Windows Shell Interface.

cWinSpoolEx.pkg / cWinSpoolEx.h

Defines cWinPrinters class and allows to enumerate all installed printers on the user's PC. Original code written by Vincent Oorsprong.


Supplement package with cWinStack class. Allows push and pop any value into and from the stack object.


TextBox cWinTextBox class based on Windows Common controls that supports any standard functionality of the cWindowsEx framework controls (like tooltips, hot tracking and gradients).

cWinToolTip.pkg / cWinToolTip.h

Defines mixin class cWinToolTip_mx which can be mixed into any standard cWindowsEx controls class library for tooltip support.


Supplement package to support mouse tracking events like MouseMove and MouseLeave for the standard cWindowsEx framework controls.


Supplies Windows API User interface.

cWinVerEx.pkg / cWinVerEx.h

This package defines cWinVer class to retrieve current version information from executable MS Windows files.


Defines cWinVolumeInfo class. Allows to retrieve a lot of useful information about Windows volume specified. It includes Volume label, file system type, type (removable, fixed, remote etc), serial number, total number of bytes, number of free bytes and a lot of other information.


Supplement package that simplifies work with bitmaps and icons. Part of The Hammer project. Originally written by Michael Kurz.


Supplement package that simplifies work with pointers in VDF. Part of The Hammer project. Originally wrote by Michael Kurz.

Standard VDF Controls

Standard VDF controls with ToolTip Support:
  • cWinBitmapContainer.pkg/cWindbBitmap.pkg
  • cWinCheckBox.pkg/cWindbCheckBox.pkg
  • cWinComboForm.pkg/cWindbComboForm.pkg
  • cWinContainer3d.pkg/cWindbContainer3d.pkg
  • cWinEdit.pkg/cWindbEdit.pkg
  • cWinForm.pkg/cWindbForm.pkg
  • cWinGrid.pkg/cWindbGrid.pkg
  • cWinGroup.pkg/cWindbGroup.pkg
  • cWinList.pkg/cWindbList.pkg
  • cWinRadioGroup.pkg/cWindbRadioGroup.pkg
  • cWinSpinForm.pkg/cWindbSpinForm.pkg
  • cWinRadio.pkg
  • cWinTreeView.pkg

CTab Control

New control that looks similar to standard TabDialog, but allows any Tabs to be used for the page switching ( Under Development ).

cWindowsEx Framework Supplement files

Along with these packages, the cWindowsEx framework includes supplement files for the integration of visual controls into the Visual Dataflex IDE and Studio and a sample application that includes sophisticated examples on using cWindowsEx packages, classes and methods.

cWindowsEx Framework Support

We do not provide any support for these components. It is free to use, public and open source! Feel free to contact us for any change, additions and/or improvements that you have made and want us to include in the framework. Bug reports are also welcome. But we can't promise that any request will be served fast and fix implemented.
But we will put all our efforts for solving the problem if time permits.

All of the components included in the cWindowsEx framework are supplied 'AS IS' without warranty of any kind. Use it on your own risk. Some of the techniques used in the code are not recommended by Data Access in any form. Not all of the components may work flawlessly in any environment depending on the Visual Dataflex or Operation System revision used. We simply have not had to the time to test everything on all of the possible combinations.

You may use these packages as you feel fit, but you must notify the Project coordinator (see Credits page) on any change you have made into the packages. Also, statements of the LGPL license apply to these components for Visual Dataflex. Also, note that you MUST have a legal version of Visual Dataflex or the WebApp product series.

Note: Page updated on regular basis.