Xeffort Library

Release Notes (1.2.24-25)

ATTENTION CVF 6.0/6.1/6.5 USERS: CVF 6.0 and 6.1 is not supported anymore. Try installing XFT 1.2.14 and rebuild the sources (open Program Files\Xeffort\Xeffort.dsp and build Release configuration.)

ATTENTION IVF USERS:Minimal required version of IVF is 9.0. When building, make sure your application is built with default calling convention and default string argument passing (after all items) (Project Properties/Fortran/External Procedures category). For compatibility with CVF 6.0/6.1, Xeffort routines do not have defined !DEC$ATTRIBUTES DEFAULT (as they should).

The source consists of the following files:

.\Source\Xeffort.f90 - Main Xeffort Module

.\Source\XFT.f90 - XFT Module for compatibility with old XFT codes

.\Source\XFTAPI.f90 - INTERFACEs to Win32 API Routines

.\Source\XFTAPIty.f90 - TYPEs and PARAMETERs of Win32 API

.\Source\XFLOGM2.f90 - XFLOGM Module v. 2

.\Source\XFTApp.f90 - XFTApp Module

.\Source\XFTcaret.f90 - XFTCaret Module

.\Source\XFTCtrl.f90 - XFTCtrl Module

.\Source\XFTDialog.f90 - XFTDialog Module

.\Source\XFTExtra.f90 - Module of supplemental routines

.\Source\XFTIntrf.fi - INTERFACEs to user-defined handlers

.\Source\XFTListView.f90 - ListView controls

.\Source\XFTFile.f90 - XFTFile Module

.\Source\XFTGDI.f90 - XFTGDI Module

.\Source\XFTMDI.f90 - XFTMDI Module

.\Source\XFTMenu.f90 - XFTMenu Module

.\Source\XFTMenuTy.f90 - XFTMenuTy Module

.\Source\XFTNotify.f90 - INTERFACEs to X_NM_ macros

.\Source\XFTPrint.f90 - XFTPrint Module

.\Source\XFTReg.f90 - XFTReg Module

.\Source\XFTTypes.f90 - Xeffort-specific TYPEs and PARAMETERs

.\Source\XFTToolbar.f90 - XFTToolbar Module

.\Source\XFTWnd.f90 - XFTWnd Module

.\Source\XFTStrings.f90 - XFTStrings Module

.\Source\EXCheckStack.f90 - EXCheckStack routine

.\Source\EXEpilog.f90 - Dummy XEpilog routine

.\Source\EXGetCmdData.f90 - EXGetCmdData routine

.\Source\EXWinMain.f90 - WinMain for Xeffort Applications

.\Source\XYPlotMod.90 - X-Y Plotting module

The package is downloadable from www.xeffort.com/xeffort/home.htm.

Revision History

= fixed

= added

= changed

JD = Jugoslav Dujic

MG = Mike Gaitens

GC = Greg Charlton

Xeffort 1.2.25 (November 18 2009.)

| 18.11.2009. | JD | Release for IVF 11.0 / 11.1 and VS2008
| 14.04.2008. | MG | XMenuSetLog returned .FALSE. on success (XFTMenu.f90).
| 14.04.2008. | JD | Fixed several issues related with toolbar's dragging and docking. (XFTToolbar.f90)
| 14.04.2008. | JD | XToolbarSet(CTL_STYLE) was breaking toolbar's dockability. Fixed (XFTToolbar.f90)

Xeffort 1.2.24 (April 08 2008.)

| 08.04.2008. | JD | Added tentative (untested) support for Visual Studio 2008.
| 07.04.2008. | MG | Fixed XCreateMetafile (forgotten Char(0)-termination) (XFTExtra.f90)
| 26.01.2008. | MG | Added XYPlotComplex to plot complex arrays in magnitude and phase-angle form. Unassociated elements in an XYCURVE array are no longer considered an error. Fixed some minor bugs in the XYPlot module having to do with custom margins and custom labels on log axes.
| 21.01.2008. | MG | Modified XFTToolBar to allow multiple rows of buttons in a toolbar, and to not overlay the status bar (if any). Added XToolbarRemoveAllButtons
| 08.01.2008. | MG | Added XSystemPath, XEnvironmentString to XFTFile.f90

Xeffort 1.2.23 (December 19 2007.)

| 19.12.2007. | JD | Setup now supports IVF 10.1. For Visual Studio PPE and 64-bit, it will install the Xeffort.lib, module files and XWizard.exe; user should append the LIB and INCLUDE path manually.
| 18.12.2007. | MG | XToolbarRemoveButtons worked only when bById is both present and .FALSE. (XFTWnd.f90).
| 13.12.2007. | MG | Added semi-documented FXNotifySysReturnValue, which can be used from the command callback to return a non-default (1) value from the window procedure (XFTWnd.f90).
| 13.12.2007. | MG | When a ListView row is selected from code, it did not automatically scroll. (XftCtrl.f90)
| 25.11.2007. | MG | Added XYPlot X-Y plotting package. It is capable of producing either a quick plot or a presentation-quality plot.
| 10.11.2007. | MG | Added XCreateMetaFile, XCloseMetaFile.
| 08.11.2007. | MG | Imported XNumber, XSqueeze, XTimerStart, XTimerStop, XUserWarn, XUserInfo, XUserStop, XUserAsk, XPlaySound, XSetDialogFocus, XOneInstance, XPickFont, XPickCtlFont, XPickColor from the Xeffort Extras site. (XFTextra.f90)
| 05.11.2007. | MG | Limited output of XView2Client to 2**27 to agree with GDI "page" limits. (XFTGDI.f90)
| 02.11.2007. | JD MG | Fixed font resource leak in XSetFont (XFTGDI.f90)
| 30.10.2007. | MG | Added XNowAt, XMoveRelative, XLineToRelative to XFTGDI.f90.
| 16.10.2007. | JD | Changed value of toolbar CCS_DOCKABLE to avoid conflict with CCS_ADJUSTABLE
| 06.09.2007. | JD | Fixed return value from XScrollbarSet (XFTWnd.f90)

Xeffort 1.2.22 (August 02 2007.)

| 08.06.2007. | JD | Minor aesthetic change in XFTAPIty.f90 back in June had broken XMessageBox. Fixed.

Xeffort 1.2.21 (June 12 2007.)

| 08.06.2007. | JD | Setup now supports IVF 10. Application wizards for all installations are stored in a separate directory "AppWizard" under installation root directory. Due to new VF10 registry nomenclature, reinstallation of Xeffort may be required after VF updating.
| 14.02.2007. | JD | Added SW_TOP, SW_BOTTOM, SW_TOPMOST and SW_NOTOPMOST flags to XSetWindowPos (XFTWnd.f90)
| 05.12.2006. | JD | xWnd and xWndDeact arguments to WM_MDIACTIVATEHANDLER now match the docs (same arguments were passed to child window being deactivated) (XFTWnd.f90)
| 11.09.2006. | JD | Added sWorkingDir argument to XCreateShortcut. (XFTFile.f90)
| 25.07.2006. | JD | XShorten hangs in endless loop with certain strings. (XFTStrings.f90)
| 17.07.2006. | GC | XCtlGetInt did not work for CTL_RANGEMAX and CTL_RANGEMIN for spin (updown) controls (XFTCtrl.f90)
| 17.07.2006. | GC | XCtlSetInt did not return success for CTL_RANGEMAX for spin controls, and CTL_RANGEMIN for sliders. (XFTCtrl.f90)

Xeffort 1.2.20 (May 30 2006.)

| 30.05.2006. | JD | XCtlGet for classic listview control returned zero for integer item with i0, j0 or k0 format. Fixed. (XFTListView.f90)
| 30.05.2006. | JD | When a classic listview control was resorted, XCtlSetItem and XCtlGetItem worked with a wrong item (the one in display order rather than the one in original order). (XFTListView.f90)
| 30.05.2006. | JD | When a virtual listview control was resorted, XLVUpdate for specified selection did not redraw the correct item due to wrong ordering. (XFTListView.f90)
| 30.05.2006. | MG JD | Subsequent setting of CTL_FORMAT for a listview control appended the columns. Now, it erases all the contents instead (XFTListView.f90)
| 23.05.2006. | JD | Uninstallation tasks implemented in InnoSetup script. XUninstall*.exe is not necessary anymore.
| 23.05.2006. | JD | Added support for IVF9.1 (tested) and VS2005 (untested). The setup is modified so that it will bind Xeffort with all VF/VS combinations it encounters (not only for newest as before).
| 25.04.2006. | MG | Due to a uninitialized variable bHandled in FXWndProc, menus and scrolling (and maybe also few other things) would ocasionally stop working. (XFTWnd.f90)
| 21.04.2006. | GC JD | Added support for CTL_KILLFOCUS and CTL_GAINFOCUS for combo boxes, list boxes and drop-down lists (XFTCtrl.f90/XFTWnd.f90)
| 07.04.2006. | MG | XDeleteMenuItem did not work at all. Fixed. (XFTMenu.f90)
| 03.04.2006. | MG | XRegRead for real argument caused an access violation. (XFTReg.f90)

Xeffort 1.2.19 (February 27 2006.)

| 27.02.2006. | JD | The package is built with /fpscomp:logicals. Some APIs on Win9x (notably, IsWindow) return a positive non-1 value for BOOL, which was misinterpreted by Xeffort as .FALSE. (Xeffort.dsp). However, as result, non-standard expressions as "if(aLogical.EQ..TRUE.)" may cease to behave - use "if(aLogical)" instead.
| 27.02.2006. | JD | When the XW_FRAME is closed, Xeffort automatically posts WM_QUIT message. However, that causes all subsequent message loops to quit, so XModalDialog and XMessageBox will also return immediately. Instead, these function will now operate normally, but "store & retrieve" WM_QUIT. XProcessMessages is not changed, i.e. it will return immediately as before. (XFTDialog.f90)
| 01.11.2005. | JD | Fixed bug in CVF MDI skeleton code where = > should be used instead of = in xChild=XMDIGetActive(). (IVF was OK).
| 01.11.2005. | JD | WM_LBUTTONDOWN on a native Xeffort window now does SetFocus by default. That affects WM_MOUSEWHEEL handling, as well as WM_KEY* handling, as the keyboard focus will now be directed as users expect. (XFTWnd.f90)
| 01.11.2005. | MG | iScanCode argument to WM_KEY* handlers extended by 1 bit to match the documentation. (XFTWnd.f90)
| 01.11.2005. | MG | Added XF2C. (XFTStrings.f90)
| 31.10.2005. | JD | Added bPopup optional argument to XLoadMenu. (XFTMenu.f90)

Xeffort 1.2.18 (October 26 2005.)

| 26.10.2005. | MG | Added "Keyboard and Character Codes" page to documentation.
| 26.10.2005. | JD | Partially fixed situation where libifcorert.dll is not in PATH. XWizard now works from VS menu, but uninstallation will not be complete.
| 25.10.2005. | JD | CTS_CLIENTEDGE and CTS_WINDOWEDGE for XCtlCreate now work (XFTCtrl.f90)
| 24.10.2005. | JD | WM_MOUSEWHEEL should not do the Xeffort default scrolling for subclassed windows (XFTWnd.f90)
| 24.10.2005. | JD | Integer values of edit controls (same as *etDlgItemInt) now supported as CTL_STATE. CTL_SELECTION must be specified explicitly (XFTCtrl.f90)
| 24.10.2005. | JD | Introduced CTL_APPEND constant to mean the same as zero/DLG_ADDSTRING (XFTCtrl.f90)
| 24.10.2005. | JD | PXCreateBitmap_File now returns .FALSE. when it fails (XFTGDI.f90)
| 21.10.2005. | JD | XRegWriteChar will now correctly store entire untrimmed string; before the fix, it stored trimmed version but indicated full length, resulting in ERROR_MORE_DATA on retrieval (XFTReg.f90)
| 21.10.2005. | JD | XMenuGetChar did not retrieve menu item title because of forgotten MENUITEMINFO.cch member; fixed. (XFTMenu.f90)
| 20.10.2005. | JD | Added XMenuSetItem/XMenuGetItem, but not published (XFTMenu.f90)
| 17.10.2005. | JD | Added replacement possibility to XInsertMenuItem (XFTMenu.f90)
| 17.10.2005. | JD | Added generic interface and documentation for XDeleteMenuItem (XFTMenu.f90)
| 17.10.2005. | JD | Added XMENU_ID and XMENU_INDEX features for XMenuGet (XFTMenu.f90)
| 17.10.2005. | JD | Added SEQUENCE keyword to all Xeffort types so they could be included in common blocks (XFTTypes.f90)
| 11.10.2005. | JD | XCtlGetChar fills the output string with blanks even when it fails. Some old CVF (ShowFont) codes depended on that feature (XFTCtrl.f90)

Xeffort 1.2.17 (October 06 2005.)

| 06.10.2005. | JD | Fixed bug in AppWizard where Back or Next buttons could cause VS to crash if "Dialog-based application" is selected.
| 06.10.2005. | JD | "Concepts" page added into help file and several overviews (XFTCtrl, XFTWnd, XFTDialog, Getting Started) enhanced.
| 05.10.2005. | JD | Selection of items in list-boxes using "old" (dflogm) style fixed to match dflogm one (XFTCtrl.f90).
| 03.10.2005. | JD | Fixed default IDOK/IDCANCEL callback for dialogs so that it propagates WM_QUIT correctly when the dialog is XW_FRAME (XFTWnd.f90).
| 03.10.2005. | JD | Added capability of appending text to edit controls and retrieving lines from multi-line edit controsl (XFTCtrl.f90).
| 26.09.2005. | JD | Added XProcessMessages (XFTApp.f90).
| 26.09.2005. | JD | Added XEnableWindow (XFTWnd.f90).
| 26.09.2005. | JD | Extended documentation for message handlers.

Xeffort 1.2.16 (September 26. 2005.)

| 26.09.2005. | JD | Added sUserButton argument to XMessageBox (XFTDialog.f90).
| 26.09.2005. | JD | Setup for IVF 8.1 did not install the AppWizard correctly. Fixed. Presence of multiple IVF versions (8.1+9.0) with various combinations of VS.NET 2002/2003 can still be an issue; in that case, the Xeffort is (allegedly) installed only on the "newest" combination.
| 26.09.2005. | JD | Due to a change of function return type (XLOWORD) in 1.2.15, command handlers for IDs greater than 32767 ceased to work. That included default menu IDs in Wizard-generated code. Fixed (hopefully for good). (XFTWnd.f90)
| 23.09.2005. | JD | DLGINIT resources are now parsed. That means that combo/list data entered in "Data" fields of the resource editor now appear in the dialog. (XFTDialog.f90::PXParseDlgInit)
| 22.09.2005. | JD | Added XSetCanvas and XGetCanvas (XFTWnd.f90). WM_*SCROLL, WM_SIZE and WM_PAINT default handling changed accordingly.
| 18.09.2005. | JD | Fixed wrong appearance of icon in XMessageBox, as well as occasional text truncating (XFTDialog.f90)
| 18.09.2005. | JD | XCtlGetChar truncated last character if the supplied string is of exact necessary length. (XFTCtrl.f90)

Xeffort 1.2.15 (August 31 2005.)

| 26.08.2005. | JD | Changed WM_KEYUP and WM_KEYDOWN prototypes (XFTWnd.f90).
| 23.08.2005. | JD | Added enhanced XFTStrings.
| 23.08.2005. | JD | Added XMessageBox.
| 11.08.2005. | JD | Accelerator keys in MDI skeleton code made working by fixing nCode from 1 to 0 (FXWindowProc::XftWnd.f90).
| 11.08.2005. | JD | Fixed the bug in XCreateWindow where windows with non-default class (i.e. PRESENT(sClassName)) were not bound. (XFTWnd.f90)
| 11.08.2005. | JD | Added WM_MDIDESTROY handler (XFTWnd.f90). XWizard.f90 updated accordingly and Wizard-generated code for MDI application updated to catch for case where there are no child windows.
| 11.08.2005. | JD | Package renamed to Xeffort. All sources reorganized.

1.2.14 (August 08 2005.)

| 08.08.2005. | JD | Setup modified to (allegedly) support all VS.NET (2002/2003) and IVF (8.1/9.0) combinations (but untested).
| 05.08.2005. | JD | Changed X_MENU structure and added appropriate code so that the main menu bar is properly redrawn after change (XFTMenu.f90).
| 05.08.2005. | MG JD | Added XBeep and XMessageBeep routines (XFTApp.f90).
| 01.08.2005. | MG | Handled the case of file extension given as .* in XGetSaveFile (XFTFile.f90).
| 01.08.2005. | MG | Added optional bExtend argument to XTextOut and XGetTextExtent (XFTGDI.f90).
| 01.08.2005. | MG | Fixed type of xWndAfter argument of XSetWindowPos routine to agree with documentation (XFTWnd.f90).
| 01.08.2005. | MG | Implemented forgotten XPostMessage (XFTWnd.f90).
| 01.08.2005. | MG | Added XStdCursor. (XFTWnd.f90)
| 01.08.2005. | MG | Added XScrollWindow. (XFTGDI.f90)
| 01.08.2005. | MG | Added XFTCaret module.
| 01.08.2005. | JD | Added .NET Application Wizard for IVF Release.
| 09.07.2005. | JD | CVF AppWizard enhanced with "Additional Features" tab.
| 09.07.2005. | JD | Added WM_DROPFILES handler (XFTWnd.f90 and XWizard.f90).
| 09.07.2005. | JD | Added code comments and return values for XWizard-generated code (XWizard.f90).
| 09.07.2005. | JD | Implemented WM_QUERYENDSESSION (XFTWnd.f90).
| 09.07.2005. | JD | Implemented bClip argument to XSetViewport and added XSetClipping routine (XFTGDI.f90).
| 07.07.2005. | JD | Added XWrite routine (XFTGDI.f90).
| 04.07.2005. | MG JD | Fixed wrong WM_KEYUP prototype in XWizard and documentation.
| 04.07.2005. | MG JD | Fixed various documentation errors. (XFTGDI)
| 19.06.2005. | JD | Added XSetScaling routine. (XFTGDI)

1.1.12 (June 2005.)

| 03.06.2005. | JD | XMenuGetLog retrieved inverse result for checked/unchecked state (XMENU_STATE). Fixed. (XFTMenu)
| 01.06.2005. | JD | Added XFTToolbar.f90. Documentation appended.
| 31.05.2005. | JD | PXCreateBitmap_Rsrc now properly returns .FALSE. when it fails (XFTGDI.f90).
| 12.02.2004. | JD | Removed CS_HREDRAW and CS_VREDRAW styles from XFT Window class (XFTWnd.f90)
| 10.01.2004. | MG | Added XCtlGetPos routine. Documentation appended. (XFTCtrl.f90)
| 20.12.2004. | MG | Added calls to FXLV_BackMap, FXLV_FwdMap (XFTCtrl).
| 20.12.2004. | MG | Added extra argument to XCtlGetInt for ListView control selections. (XFTCtrl).
| 20.12.2004. | MG | Added CTL_COLUMNORDER processing. (XFTCtrl).
| 20.12.2004. | MG | Added LVS_EX_HEADERDRAGDROP style to ListView control. (XFTListView::FXLV_Init)
| 20.12.2004. | MG | Added to XLV_OnColumnClick to maintain selections across sort (XFTListView).
| 20.12.2004. | MG | Additions to PXLV_ParseItem, PXLV_SortCallback, and PXLV_VirtualSortCallback to accommodate T_SYSTEMTIME variables (XFTListView).
| 20.12.2004. | MG | Added subroutine PXDateTime; also FXLV_BackMap and FXLV_FwdMap to insure row communication w/ pgmr is in terms of the original usertype array (XFTListView).

1.1.11 (November 30. 2004.)

| 30.11.2004. | JD | Added ListView support both in XFTCtrl and XFLOGM2.0. Documentation appended.
| 15.11.2004. | JD | XCtlGetArray now accepts only a POINTER array. This fixes potential sizing problems, but the user application must be careful to DEALLOCATE it.
| 15.11.2004. | JD | XSetCursor fixed (missing LOWORD test for lparam in XFTWnd::FXWindowProc/WM_SETCURSOR).
| 12.11.2004. | JD | Fixed reallocation of xWnd%xCtl array (UBOUND was required instead of SIZE; XCTL property had to be reassigned) in XFTCtrl::XCtlCreate.>
| 12.11.2004. | JD | XCtlCreate did not work within dialogs, because return value from FXWndProc should have been returned via DWL_MSGRESULT, not directly.

1.0.10 (October 5. 2004.)

| 05.10.2004. | JD | WORKING IVF8.1 VERSION RELEASED
| 05.10.2004. | JD | Static owner-drawn controls fixed (forgot to apply copying of DRAWITEMSTRUCT%hDC into X_DC%hDC in XFTWND::FXCtlCallback).
| 05.10.2004. | JD | All internal uses of XGetWindow() fixed to use a temporary pointer variable, in order to workaround 245385 IVF8.1 bug (which is partially fixed as of IVF 8.1.021).
| 04.10.2004. | JD | Fixed MDI Wizard skeleton code which produced a memory leak on child window destruction, because UD%xWnd% members were not deallocated properly. XFreeWindow made public (to be documented one day).
| 04.10.2004. | JD | Fixed AppWizard bug where premature "Finish" button has caused an exception. AppWizard now retrieves custom settings in the registry, sharing entries with XFT Wizard.
| 04.10.2004. | JD | Fixed WM_NCDESTROY handler, which has never been called because window binding was released prematurely (on WM_DESTROY) (XFTWnd::FXWindowProc)
| 04.10.2004. | JD | Fixed XMDIDestroy, which has never worked due to wrong intent(OUT) & interchanged WM_MDIDESTROY params (XFTMDI::XMDIDestroy)
| 04.10.2004. | JD | Fixed MDI applications, which were screwed since 1.0.6 due to changed window-binding behaviour (XFTWnd::FXWindowProc)

1.0.9 (August 17. 2004.)

| 17.08.2004. | JD | Change in 1.0 RC6 has screwed Window menu of MDI applications. Fixed.
| 17.08.2004. | MG | Added optional ID argument to XCreateWindow. Fixed the documentation.
| 16.08.2004. | MG | Support for BS_CHECKBOX (as opposed to BS_AUTOCKECKBOX) added to XFTCtrl::FXResolveClassName
| 16.08.2004. | JD | Fixed WM_COMMAND/WM_NOTIFY forwarding for dialogs with embedded dialogs or controls containing other controls.

1.0.8 (July 23. 2004.)

| 22.07.2004. | JD | Due to (stillborn) introduction of XFT for IV8, registry values changed from HKLM/Software/XFT to HKLM/Software/XFT/CVF6. It might lead that it is not uninstalled properly (but I've seen far worse). Also, setup file name is changed to XFT_CVF6.exe
| 22.07.2004. | JD | Fixed XFT Wizard's prototype for XFLOGM-based handler (Dlg instead of xWnd)
| 22.07.2004. | JD | Added IMPLICIT NONE check-box to XFT Wizard
| 22.07.2004. | JD | XFT Wizard generates correct calls to XSetHandler etc. functions instead of CALL
| 22.07.2004. | JD | New bAppModal argument to XModalDialog fixed :-D
| 12.07.2004. | JD | New bAppModal argument to XModalDialog.
| 12.07.2004. | MG | XModalDialog now obeys WM_QUIT message by exiting from the subroutine and posting message up until it reaches the main message loop
| 08.07.2004. | JD | Dialogs now "identify" themselves via lParam of WM_EXITDLG message. With previous behaviour, closing an owned modeless dialog via [X] or XExitDialog would cause exit of the parent dialog as well.
| 08.07.2004. | MG | Fixed XCtlGetArray for multiple&extended-selection list-boxes
| 08.07.2004. | MG | Fixed XCtlGetInt to allow retrieval of multiple-selection list-boxes using "compatibility" method
| 08.07.2004. | JD | When there's no requested selected item, XCtlGetInt returns .FALSE. for multiple-selection list-boxes (DFLOGM still don't behave that way, but that is consistent with documentation on "Control properties" help pages)
| 29.06.2004. | JD | Just another GetFocus problem -- callbacks for simple combo boxes were not called because the ComboLBox (list part) window has focus (XFTWND:FXCtlCallback)

1.0 RC7 (June 26. 2004.)

| 26.06.2004. | JD | Module XFTMenuTy moved to separate file.
| 26.06.2004. | JD | X_NM_ macros fixed (EXGetCmdData.f90) and moved to MODULE XFTNotify.
| 18.06.2004. | MG | Removed GetFocus() test for button WM_COMMAND handlers which caused that the callback is not invoked when the button is "pressed" via Enter or Esc.
| 18.06.2004. | JD | Dialogs without IDCANCEL button now close by default by pressing [X] button, returning IDCANCEL to DlgModal.

1.0 RC6 (May 27. 2004.)

| 27.05.2004. | JD | Fixed nasty bug, discovered by Mike Gaitens, related with too late association of X_WINDOW structure with a dialog (XFTDialog:XLoadDialog and XFTWND:FXWindowProc). The bug was exposed as misalignment of dialog's client area when XP Themes are enabled.
| 27.05.2004. | JD | Fixed CTL_HELP/DLG_HELP callbacks. Behaviour tested with new XContextHelp sample.

1.0 RC5 (May 24. 2004.)

| 24.05.2004. | JD | Added Mike Gaitens's suggestion of allowing DLG_SELECTION for XCtlSetChar for combo boxes.
| 21.05.2004. | JD | DlgSetChar, DlgSetInt, DlgSetLog made PUBLIC in XFLOGM2.
| 14.05.2004. | JD | Revised stack overflow problem "solved" in RC4 screwed up combo box callback. Hopefully fixed, but I'm open-minded.
| 13.05.2004. | JD | Fixed CTL_COLOR and CTL_BKCOLOR for progress bars
| 13.05.2004. | JD | Fixed bug with callback for trackbars and updowns never being invoked

1.0 RC4 (May 11. 2004.)

| 11.05.2004. | JD | Behaviour of DLG_NUMITEMS synchronized with the one from DFLOGM. Now DLG_NUMITEMS retains the existing items insread of deleting them.(XFTCtrl::XCtlSetInt). Note that LBS_SORT style affects ordering of items.
| 11.05.2004. | JD | Fixed DLG_KILLFOCUS callback (XFTWnd::FXCtlCallback)
| 11.05.2004. | JD | Fixed the issue with possible stack overflow when DlgSet is called from an edit-control callback (XFTWnd::FXWndProc/WM_COMMAND).
| 11.05.2004. | JD | Fixed bug with retrieving selection from LBS_MULTIPLESEL list box. DlgGet now returns zero if index>no. of selected items (XFTCtrl::XCtlGetInt)
| 10.05.2004. | JD | Fixed bug that scrollbar controls don't "stick" when dragged using mouse. (XFTWnd::FXWndProc)
| 04.05.2004. | JD | Fixed bug with combo boxes where CTL_SELECTION when invoked from CTL_SELCHANGE callback returns the "old" value instead of "new".
| 04.05.2004. | JD | "XFT Application Wizard" should go to "Common\MSDev98\Bin\IDE" directory instead of ...\Templates.

1.0 RC3 (Apr 6. 2004.)

| 17.03.2004. | JD | XSizeWindow was behaving the same as XMoveWindow. Fixed.
| 17.03.2004. | JD | Added XGetWindowMenu
| 17.03.2004. | JD | Fixed wrong XSetWindowMenu entry in help
| 17.03.2004. | JD | Deleted spurious iStyle argument of XGetWindowStyle
| 17.03.2004. | JD | Fixed reversal of iX2 and iY2 arguments to WM_PAINT_Handler

1.0 RC2 (Feb 12. 2004.)

| 11.02.2004. | JD | Added missing declarations in XFTMenu.f90 and XFTFile.f90 for purpose of compiling lite version on older CVF's.
| 06.02.2004. | JD | Added forgotten DLG_FONT and DLG_PAGE into online documentation, XFLOGM chapter
| 06.02.2004. | JD | Deleted spurious iColor argument from XGetPixel (copypasto :-))
| 05.02.2004. | JD | Lite version of XFTGDI did not compile under CVF 6.0 due to stupid declaration of DFWINTY:T_LOGFONT%lfFaceName. Fixed using preprocessor & TRANSFER.
| 02.02.2004. | JD | WM_HSCROLL did not pass correct value of nPos (XFTWND:FXWindowProc). That caused WM_HSCROLL_Handler to misbehave. (VSCROLL was OK all the time)
| 02.02.2004. | JD | nFlag in WM_VSCROLL and WM_HSCROLL enhanced to pass SB_VERT and SB_HORZ respectively (XFTWND:FXWindowProc)
| 27.01.2004. | JD | Unininitialized bHandled variable in WM_SIZE block of (XFTWND:FXWindowProc) fixed. That caused random calling of WM_SIZE handler
| 24.01.2004. | JD | Added CS_OWNDC into XWindow class creation (EXWinMain)
| 24.01.2004. | JD | When a child dialog has WS_EX_CONTROLPARENT, WM_COMMAND messages were not sent to it but to its parent. WM_COMMAND forwarding is now fixed (XFTWND:FXWindowProc).
| 23.01.2004. | JD | Fixed bug that XWM_CREATECONTROL = WM_EXITDLG.
| 20.01.2004. | JD | Added XSetWindowStyle/XGetWindowStyle

1.0 RC1 (Jan 15. 2004.)

| 15.01.2004. | JD | XFT Library is developed and tested using CVF 6.6C. It is supposed to be compilable with any CVF 6.x compiler. 5.0D is not supported anymore, but should be compilable as well with minor changes (!DEC$ATTRIBUTES NO_ARG_CHECK is one that I know of). The setup will continue only if CVF 6.x is present.

Xeffort.com