Fortran Resources
Misc. Samples
Dialogs
VF Headers
Win32 FAQ
Fortran FAQ
QuickWin FAQ

 

XFLOGM - Dialog Management

26.01.2004. XFLOGM 1.0 is now superseded by XFLOGM 2.0, which is part of Xeffort Library. You can still download XFLOGM 1.0 from this page or as a part of XeffortLite download


Compaq ships a module DFLOGM, with source available also. DFLOGM serves as a wrapper for dialog handling in all types of applications, simplifying the programming by enabling that handling code is placed in a single routine and reducing the number of setting flags (such as DLG_STATE). However, with DFLOGM you can't obtain full functionality that you could with a Win32-handled dialog; the most frequent requirements from users were handling of controls' colors and context help.

This "touched" version, renamed to XFLOGM.f90, adds the following functionality:

  • DLG_COLOR and DLG_BKCOLOR property for static text, group boxes, push buttons, check boxes, and radio buttons.

  • DLG_VISIBLE property for all controls (wrapper around ShowWindow)

  • DLG_BITMAP and DLG_ICON¹ properties for buttons and static controls, enabling bitmaps attached to buttons and bitmaps or icons attached to static controls.

  • DlgSetHelp routine, which enables the library user to register a callback for either F1 key or "context help" mouse click. The usage is similar to DlgSetSub.

  • Support for owner-drawn static controls (DLG_DRAWITEM) callback.

  • Optional hParent argument added to DlgModal.

  • Improved behaviour of dialogs with "Center" style.

  • Fixed bug introduced (and later fixed) by Compaq with mis-parsing of dialogs written in non-Western scripts.

  • Improved support for tabbed dialogs. See Reference²

  • Subroutine DlgSetTitle from newer versions is reintroduced. Compaq's limitation of 65535 on scrollbar is fixed.³

  • DlgSetHelp now optionally passes control's context help ID (IDH_* constant from resource.hm). Thanks to Greg Charlton who pointed out this useful feature and submitted the code.

NOTE: XFLOGM now links against any version of DFLOGM.lib of CVF 6.0 or newer. If you have downloaded earlier version of XFLOGM (before March 10), but have CVF6.5 or newer, please delete DFLOGM.lib from your project and source directory (otherwise, link error "LNK2001: unresolved external symbol _DLGDOMODAL@24" occurs). If you have CVF 5.0, you still need to link against a DFLOGM.lib from CVF 6.0.

¹) As of Dec 11 2001.

²) As of Apr 11 2002

³) As of Mar 10 2003.

Download sample workspace

Download DFLOGM.lib v6 (DVF 5.0 users only)

XFLOGM Reference

See Also: MenuDialog sample