The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
###############################################################################
# CHANGELOG
# $Id: CHANGELOG,v 1.36 2004/11/12 15:58:50 lrocher Exp $
###############################################################################

Win32-GUI ChangeLog
===================

+ [Laurent Rocher] :
    - GUI.pm, GUI.xs, Readme.txt, Readme
        + VERSION 1.0

+ [Jeremy White] :
    - GUI.xs :
        + Fix SetEvent
        
+ [Laurent Rocher] :
    - GUI.xs :
        + Fix MessageBeep XS interface.
    - Button.xs 
        + Fix -align option

+ [Laurent Rocher] :
    - Readme.txt, readme, GUI.pm, GUI.xs
        + VERSION to 0.99_1 for first release candidate to 1.0
    - Add somes samples

+ [Glenn W Munroe] :
    - ListView.xs :
        + Add more events and new style flag.

+ [Glenn Linderman] :
    - GUI.pm
        + Bump VERSION to 0.0.682 
    - GUI.xs :
        + Minor fix to -multisel handling for GetOpenFileName
        + Fix to Scroll to support 32 bit range for SB_THUMBTRACK and SB_THUMBPOSITION
    - samples/BitmapScroll.pl
        + Enhancements.

+ [Laurent Rocher] :
    - MakeFile.pl, MakeFile_m.pl
        + Use tab as space in rule for use with dmake
    - GUI.pm, GUI.xs
        + Add -brush option for Win32::GUI::Class.
    - GUI_Helper.cpp
        + classname_From and handle_From : Replace strlen as static string length.
    - Window.xs, GUI_MessageLoops.cpp, Samples\BitmpaScroll.pl :
        + Move Paint event in Window_onEvent.
        + Use DoEvent_Paint function like Graphic
    - ToolTip.xs :
        + Add -balloon option

+ [Glenn Linderman] :
    - GUI.xs :
        + Deprecate  -overdriveprompt  in favor of  -overwriteprompt  in
          GetSaveFileName

+ [Glenn Linderman] :
    - GUI.xs :
        + Add extra, optional parameter to Win32::GUI::Scroll to better
          support dynamic display of windows when scrolling.  The internals
          add support for the SB_THUMBTRACK event.

+ [Glenn Linderman] :
    - GUI.pm :
        + Add definition of @acc to Win32::GUI::AcceleratorTable::new
          to avoid cumulative accelerator key references among windows

+ [Jeremy White] : Added -onPaint event for windows
    - Window.xs, GUI_MessageLoops.cpp
        + Added -onPaint event for windows

+ [Laurent Rocher] :
    - GUI.pm, GUI_Constants.cpp :
        + Add MessageBox return value constants.
    - GUI.xs :
        + Create : Force a window name for all control.
        + Add MessageBeep.
        + ChooseFont : Change -size by -pointsize option and return value.
    - GUI_Events.cpp :
        + DoEvent_Menu : Add Self for NEM event.
    - GUI_Helpers.cpp :
        + Perlud_Free : Check if svSelf is a valid SV before use it.
    - GUI_MessageLoops.cpp :
        + WindowMsgLoop : Add WM_INITMENU event.
    - Textfield.xs :
        + Fix EN_UPDATE event handler name.
        + New Methods : CanPaste & HaveSel.
    - Window.xs:
        + New InitMenu event.
    - Samples\Notepad.pl : New file

+ [Jeremy White] : Added example and new function
    - samples\BitmapScroll.pl 
    - GUI.xs
        + Added LoadString Function 
        
+ [Glenn Linderman] : Fix GetOpenFileName
    - GUI.h:
        + change VERSION
    - GUI.xs:
        + change  GetOpenFileName to  support -multisel =>  N, where  N is
          multiplied  by 4000  to  obtain the  results  buffer size.   The
          minimum results buffer size is 256 for N <= 0, and 4000 for N ==
          1.

+ [Laurent Rocher] : Add MonthCal Control
    - MonthCall.xs : New file
    - GUI.h :
        + Add new event argtype for SV*.
        + New MonthCall control callback function and constant.
    - GUI.pm :
        + Add MonthCall control.
    - GUI_Constants.cpp :
        + Add MonthCall class constant.
    - GUI_Events.cpp :
        + DoEvent : Add new type argument for SV*.
    - GUI_Helpers.cpp :
        + Add MonthCall control.
    - Makefile.pl, Makefile_m.pl :
        + Add MonthCall.xs
    - Samples\MonthCal.pl : New file
    - Docs\DoDoc.pl : 
        + Add MonthCall.xs

+ [Steven M. Martin] : Fix TextField -prompt option.
    - GUI.pm :
        +  Win32::GUI::Textfield new : Fix TextField -prompt option when prompt left was negative.

+ [Jeremy White] : New Events for Treeview control
    - TreeView.xs
       + Added BeginLabelEdit Event
       + Added EndLabelEdit Event
       
+ [Laurent Rocher] : Fix IdFirstChild option for MDIClient.
    - GUI.pm :
        + Remove registered class for MDIClient.
    - GUI.xs :
        + RegisterClassEx : Remove MDIClient value for -widget option.
        + Create : SubClass MDIClient window.
        + Added SetActiveWindow.
    - GUI_MessageLoops.cpp :
        + MDIClientMsgLoop: Rewrite as simple subclass MsgLoop.
    - MDI.xs :
        + MDIClient_onPreCreate : Change classname.
        + MDIChild_onPreCreate  : Change default style.

+ [Laurent Rocher] : Restore AUTOLOAD
    - GUI.pm :
        + Uncomment AUTOLOAD
        + Add AUTOLOAD to MDIFrame, MDIClient.

+ [Laurent Rocher] : Add MDI Window Support and Fix Tied property & Window Destruction.
    - GUI.h :
        + Added new MDI Constants and Callback functions.
        + Added a dwData field in PERLWIN32GUI_USERDATA.
    - GUI.pm :
        + _new : Fix tied hash property.
        + Comment AUTOLOAD in Win32::GUI::Window : Is usefull ?
        + New Win32::GUI::MDIFrame, Win32::GUI::MDIClient, Win32::GUI::MDIChild class.
        + Win32::GUI::WindowProps : Fix Destroy managing.
        + Register new class for MDI.
    - GUI.xs :
        + In GetKeyboardState : Use a stack array for key.
        + In RegisterClassEx : 
            + Added MDIFrame, MDIClient, MDIChild widget option.
            + Avoid reccursive Window Msg Loop call.
        + In Create :
            + Use a weaken reference for perlpud->SvSelf for clean reference count and memory free.
            + Added MDI support.
            + Added dwData field support.
        + In Change : Added MDI support.
        + In Dialog, DoEvents, DoModal : Added MDI event loop support.
        + LockWindowUpdate : Rewrite shorter.
    - GUI_Constants.cpp :
        + Added MDI class constants.
    - GUI_Helpers.cpp :
        + Addes MDI class callback.
        + Perlud_Free : Correct destruction problem.
    - GUI_MessageLoops.cpp :
        + In CommonMsgLoop : Don't manage WM_GETMINMAXINFO for MDI Child.
        + In WindowMsgLoop : 
            + Added support for WndProc call.
            + For WM_DESTROY, call default MsgLoop before free perlud.
            + Handle WM_MDIACTIVATE & WM_SETFOCUS for MDI Window.
        + Added DefMDIFrameLoop and MDIFrameMsgLoop for MDIFrame Window.
        + Added MDIClientMsgLoop for MDICLient window.
        + Added DefMDIChildLoop and MDIChildMsgLoop for MDIChild Window.
    - GUI_Options.cpp :
        + In ParseWindowOptions : Added a missing else for class specific option parsing.
    - Makefile.pl &  Makefile_m.pl : Add new MDI.xs file.
    - MDI.xs : Manage MDI window.
    - Window.xs : Remove MDI class and add MDI event documentation.
    - Samples\MDI.pl : New Sample form MDI use.
    - Docs\DoDoc.pl : Add new MDI.xs file.

+ [Jeremy White] : DoModal bug fix (windows would flicker)

+ [Jeremy White] : New methods/functions (from Adhoc.pm by Johan Lindström).
    - DC.xs
        + Added SetBrushOrgEx Method
        + Added GetBrushOrgEx Method
    - GUI.xs
        + Added LockWindowUpdate Method
        + Added GetKeyboardState Function
        + Added GetAsyncKeyState Function

+ [Jeremy White] : New DC method
    - DC.xs 
        + Added DrawIcon Method

+ [Jeremy White] : New Window method
    - GUI.pm
        + Added Center method (Code from Adhoc.pm by Johan Lindström).

+ [Jeremy White] : Improvements in Windows GDI support.
    - DC.xs 
        + Changed Region constructors to use object calling convention   

+ [Jeremy White] : Improvements in Windows GDI support.
    - DC.xs 
        + CreateCompatibleDC method now returns a DC object
        + Added CreateCompatibleBitmap method
        + Added Line method (combination of MoveTo and LineTo)
        + Added Win32::GUI::Region object (used for clipping)
           + Added CreateRectRgn
           + Added CreateEllipticRgn
           + Added CreateRoundRectRgn
           + Added PtInRegion
           + Added RectInRegion
           + Added SetRectRgn
           + Added OffsetRgn
           + Added GetRgnBox
           + Added EqualRgn
        + Added SelectClipRgn
        + Added FillRgn
        + Added FrameRgn
        + Added InvertRgn
        + Added PaintRgn
        
+ [Laurent Rocher] : Add new options and documentation.
    - Button.xs : 
        + Add new style option and documentation.
    - Combobox.xs
        + Add new style option and documentation.
    - Header.xs
        + Add new style option and documentation.
    - GUI_Helper.cpp :
        + CreateObjectWithHandle : Fix memory leak 
    - GUI.pm :
        + Add documentation.
    - Label.xs :
        + Add new option.
    - Rebar.xs :
        + Add new option.
    - Trackbar.xs :
        + Add documentation.
    - Window.xs :
        + Add documentation.
    
+ [Laurent Rocher] : Complet ImageList and TabStrip API.
    - Font.xs :
        + Improve parsing font options.
    - GUI.h :
        + Add new prototype.
    - GUI.pm :
        + Add method AddMasked for ImageList.
        + Add method Change for NotifyIcon.
    - ImageList.xs:
        + Add new methods and documentation.
    - StatusBar.xs:
        + Add new style option.
    - TabStrip.xs:
        + Add new methods, styles options and documentation.
    - Trackbar.xs :
        + Change styles name options.
    - Todo :
        + Complete todo

+ [Laurent Rocher] : Complet Tooltip API.
    - GUI.h :
        + Add new prototype.
    - GUI_Options.cpp :
        + Add ParseTooltipOptions.
    - ToolTip.xs :
        + Complet API.

+ [Laurent Rocher] : Fix some build problem with perl5.6 and remove some MinGW warning.

+ [Laurent Rocher] : Complet API and documentation

    - Combobox.xs, DateTime.xs, GUI.pm, GUI.xs :
        + Add some documentation
    - DC.xs :
        + Add lot of new methods
    - GUI.h :
        + Add some new prototype
    - GUI_Options.cpp
        + Add new parse options function.
    - Header.xs :
        + Add new methods and styles options.
    - Label.xs :
        + Add new styles options.
    - Listbox.xs :
        + Add new styles options and documentation.
    - ListView.xs :
        + Add new methods, styles options and documentation.
    - Rebar.xs :
        + Add new methods, styles options and documentation.
    - Toolbar.xs :
        + Add new methods, styles options and documentation.
    - Trackbar.xs :
        + Add new styles options and documentation.
    - TreeView.xs :
        + Add new styles options and documentation.
    - TYPEMAP
        + Add HRGN.

+ [Laurent Rocher] : New Accelerator event NEM code.

    - GUI.h :
        + Add FindChildWindowsProc prototype and search typedef struct.
    - GUI_Events.cpp :
        + Rewrite DoEvent_Accelerator.
    -  GUI_Helpers.cpp :
        + Add FindChildWindowsProc for search a child with specific name.

+ [Laurent Rocher]

    - GUI.h :
        + Add Animate_OpenEx macro for MinGW
        + Add a IS_MODAL dwPlStyle flag.
        + Add EnableWindowsProc callback.
    - GUI.xs :
        + DoModal() : 
            - Return false if function already in DoModal.
            - Add a boolean parameter for disable all Top Window and not only parent/caller.
    - GUI_Helpers.cpp :
        + Add EnableWindowsProc : Activate or Deactivate current thread top window.
    - GUI.pm :
        + Remove Win32::GUI::Window::DESTROY because unecessary and conflic with Win32::GUI::WindowProps.

+ [Laurent Rocher]

    - UpDown :
        + Fix Scroll event.
    - GUI_Events.cpp :
        + In DoEvent_* functions : PERLWIN32GUI_EVENTHANDLING is set after event call.

+ [Laurent Rocher]
    [#627779] : Not able use with embedded perl 
    [#918896] : No [Dbl]RightClick events in NEM
    [#921170] : 670: DC Circle strange arguments
    [#918899] : No NotifyIcon support in NEM
    [#880798] : Accelerators don't work with NEM

    Add destroy window mechanism and free perlud ressource when windows destroy
    Add NEM support for notifyIcon.
    Add full mouse support (left/middle/right mousedown, mouseup, mouseDblClick)

    - Annimation.xs : 
        + Correct Event handling and add OpenEx method.
    - Button.xs : 
        + Use dwFlags & dwFlagsMask in perlcs for set check state.
        + Fix GetCheck and SetCheck Alias.
    - Combobox.xs :
        + Add ComboboxEx ExtendedStyle.
        + Add some documentation and missing methods.
    - DC.xs : 
        + Fix Circle method.
    - GUI.h :
        + Add new dwFlagsMask value in PERLWIN32GUI_CREATESTRUCT and a BitmaskOptionValueMask macro
        + Add PERLUD_FREE macro calling new Perlud_Free function.
        + Add new common Event constant.
    - GUI.pm :
        + Win32::GUI::_new : Use tie return value for safe.
        + Win32::GUI::Window::DESTROY : Change timer/notifyicon clean up (probably no more need).
        + Win32::GUI::Timer : Change new and Destroy method.
          We store timer name in -timers parent hash, and Timer object only 1 time as parent child.
          We don't store window parent reference in Timer object for avoid circular reference. 
        + Win32::GUI::NotifyIcon : Change new and Destroy method.
          Same mechanism than Timer.
        + In Win32::GUI::WindowProps HASH mechanism : 
          Add a DESTROY method and call DestroyWindow for remove Self Window.
    - GUI.xs :
        + RegisterClassEx() : Unregister class if first register fail, and re-try to register.
        + Create : Increment self reference when add to parent hash.
        + DoModal : Remove a forget printf.
    - GUI_Events.cpp :
        + DoEvent_Timer() : Change timer name search (related new method change)
        + DoEvent_NotifyIcon() : Change NotifiIcon name and object search (related new method change)
          and add NEM event support.
    - GUI_Helpers.cpp :
        + Add Perlud_Free : Free all allocated data in perlud (hvEvent, avHooks, svSelf and perlpud).
          Use PERLUD_FREE macro for call it.
    - GUI_MessageLoops.cpp :
        + Add PERLUD_FREE on WN_DESTROY event.
        + Add new standard event : MouseDblClick, MouseRightDown, MouseRightUp, MouseRightDblClick, 
                                   MouseMiddleDown, MouseMiddleUp, MouseMiddleDblClick, Char.
        + Add new NotifyIcon event : DblClick, RightDblClick, MiddleClick, MiddleDblClick.
        + In CustomMsgLoop : Call ControlMsgLoop if PERLWIN32GUI_INTERACTIVE style flag is set.
    - GUI_Options.cpp :
        + ParseNEMEvent : Add new standard event.
        + Add ParseNotifyIconOptions and ParseNEMNotifyIconEvent : add NEM support for NotifyIcon.
    - NotifyIcon.xs :
        + Use ParseNotifyIconOptions for parsing option and NEM event.
    - Splitter.xs :
        + Splitter_onEvent : Fix PerlResult return.
    - Window.xs :
        + Graphic_onEvent & Graphic_onParseEvent : Clean Interactive graphics event handling.
          Now, CustomMsgLoop call ControlMsgLoop if PERLWIN32GUI_INTERACTIVE style flag is set.
    
+ [Laurent Rocher]
    - GUI.h : PERLUD_FROM_WND macro return now 0 (MingW Warning).
    - GUI.pm : 
        + new Graphic method use standard _new creation (and replace hard coded constant)
        + Fix timer DESTROY
    - Window.xs : Graphic_onEvent return Perlresult (and not 0).

+ [Laurent Rocher]
    [#673252] : Win32::GUI and PERL_CONTEXT
    [#879424] : Modal Window Support
    - New Base code : 
        + Separate each control in a specific XS file.
        + Add callback function for each control (onPreCreate, onParseOption, onPostCreate, onParseEvent, OnEvent).
        + Rewrite Event Loop.
        + Merge all event firing code in on function (DoEvent) for OEM and NEM.
        + New DoModal function.
        + Improve Change method.
        + Add lot of control Win32 API method. (Keep alphabetical order and standard API name).         
        + Add new events for control.
        + Some Clean Up.
        + Reduce size of allocate structure per window.
        + Add Perl context handling.
    - Fix doc tools generator (DoDoc.pl and DoHtml.pl)

Before return to MAIN branch

Win32-GUI-665-Fix ChangeLog
===========================

+ [Laurent Rocher]
    - GUI_MessageLoops.cpp : Fix multiple problem with NEM event and painting problem.
    - GUI.xs : Correct problem with wndprocPreNEM changed two time.
    - GUI_Options.cpp : Correct uninitialised variable problem.

Win32-GUI-0_0_671 :

+ [Laurent Rocher]
    - GUI.pm : Change version to 0.0.671
    - GUI.xs : Change version to 0.0.671
    - README : Change version to 0.0.671
    - Readme.txt : Change version to 0.0.671
    - GUI.h : Add av_delete macro for perl 5.005
    - GUI_Events.cpp : In DoEvent_NEM_Menu correct event test (use SvOK).
    - MANIFEST : Update file

+ [Steve Pick]
    - GUI.xs : LoadImage() now tries to find resources in the exe first, and only if that fails does it look on-disk. This means you can use ResHacker or some similar resource editor to add resources to your distributed exe.
    - GUI.xs : Win32::GUI::LoadResource(NAME) added - loads a resource from the current executable and returns it as a scalar. Resource type must be RCDATA (i.e. raw data).

+ [Steve Pick]
    - ListView.xs : Made ListViews aware of the -background option.
    - Toolbar.xs : Implemented all of Ramy's perl toolbar extension in XS code. Added constants as well.
    - GUI_Constants.cpp : Added tons of toolbar-related constants. Note that you should probably use the TBSTYLE_xxx constants instead of the BTNS_xxx constants for toolbar button styles right now as the latter doesnt work depending on your compiler.
    - GUI.pm : Added constants
    - GUI_Events.cpp : Fixed NeedText so it doesnt crash on exit (needed to extend memory reserved by one byte). Modified the way ButtonClick is handled for toolbars - If a dropdown menu should be expanded, there is a new second argument to ButtonClick which is set to 1.
    - TreeView.xs : Fix in InsertItem. Wasn't reserving enough memory for the strings form the -text option.
    - StatusBar.xs : Parts method now detects scalar/array context and returns # parts / list of parts as appropriate
    - GUI_MessageLoops.cpp : Fix for noflicker (previously, the whole client area was not validated - now it is), also added onPaint event to NEM (for graphic objects).
    - GUI.xs : Added GetEvent() and SetEvent() methods. GetEvent(EVENTNAME) will return a coderef to the handler for the specified NEM event name (e.g. "Resize"), SetEvent(EVENTNAME,CODEREF) will set a handler for the event. Made AbsLeft() and AbsTop() accept co-ordinates.

+ [Laurent Rocher]
    - GUI_MessageLoops.cpp : Revrite WM_CTLCOLOREDIT, WM_CTLCOLORSTATIC, WM_CTLCOLORBTN, WM_CTLCOLORLISTBOX event handling in CommonMsgLoop. Correct Both event handling in NEM_WindowMsgLoop.

+ [Jez White & Laurent Rocher]
    - Rebar.xs : Added documentation for all the methods .
             New methods : ShowBand, HideBand, MoveBand, GetBandBorder, GetBarHeight.
             Fix BandInfo crash.

+ [Steve Pick & Laurent Rocher]
    - GUI.xs : Extended support for scrollbars in a window's non-client area. Added NEM event "onScroll" and OEM event "_Scroll" for Window and DialogBox. New functions for Window/Dialog: $w->ScrollRange(SCROLLBAR,[MIN,MAX]), $w->ScrollPos(SCROLLBAR,[POS]), $w->ScrollPage(SCROLLBAR,[PAGESIZE]), $w->Scroll(SCROLLBAR, OPERATION, POSITION). Docs in source as usual. Check GUI.xs.
    - GUI_Events and GUI.h : Support for _Scroll and onScroll events for windows / dialogs
    - GUI_MessageLoops : Fix for $object->Result(x) method, [thanks go to Glenn Linderman for pointing the problem out]
    - StatusBar.xs : Various fixes and optimizations by Laurent Rocher.
    - GUI_Constants.cpp : Added Scrollbar constants (SB_*) and statusbar constants (SBT_*)

+ [Steve Pick]
    - Added StatusBar.xs to handle new StatusBar methods. Each method is documented in this file, but the documentation has not been re-generated.

+ [Steve Pick]
    - GUI.xs : Made ProgressBar aware of -foreground and -background colour settings
    - GUI.xs : Added Result(handle, code) call for explicitly setting the returned LRESULT from a handler. (normally the value returned from Perl handlers was not returned from their calling wndproc, this allows you to specify a result that will be returned.)
    - GUI_MessageLoops.cpp : If CommonMsgLoop must be called then it is called before any Hook handlers are called.

+ [Steve Pick]
    - GUI.xs : Huge update to Hook() and UnHook(). You can now add multiple hooks per message, catch WM_NOTIFY and WM_COMMAND messages, and it works with both New and Old Event Models. Documentation for both functions is present.
    - GUI_MessageLoops.cpp : Addition of DoHook() function and DoHook() calls in NEM_WindowMsgLoop, WindowMsgLoop, and NEM_ChildMsgLoop. DoHook is internal.

+ [Glenn Linderman]
    - GUI.pm : In MakeMenu, Set a default event name to every item with an empty string.
    - GUI_Options.cpp : Added new menu options.

+ [Jeremy White & Laurent Rocher]
    - TabStip.xs : Add new methods and some documentation.

+ [Steve Pick]
    - GUI_MessageLoops.cpp : Added anti-flicker code.
    - GUI_Options.cpp : Added -noflicker option to window/dialogbox.
    - GUI.h : Added flickerFree property to USERDATA and CREATESTRUCT structs
    - GUI.pm : Added documentation line for -noflicker option

+ [Steve Pick & Laurent Rocher]
    - GUI.xs : Left() and Top() now not perform ScreenToClient() on the rectangle for non child window.

Win32-GUI-0_0_670 :

+ [Laurent Rocher]
    - GUI.pm : Change version to 0.0.670
    - GUI.h  : Set NO_XSLOCKS for perl 5.005
    - GUI_MessageLoops.cpp : Fix for perl 5.005
+ [Steve Pick]
    - GUI.xs : Update to Hook() - now returns previous handler coderef on hook reassignment, 0 if no previous assignment, and undef if error.
    - GUI_MessageLoops.cpp : Added code to call Hook()ed handlers to NEM_ChildMsgLoop
+ [Laurent Rocher]
    - GUI.pm : Add AddDatetime, AddGraphics methods
    - GUI.xs : Fix DoEvents double event, add some DateTime methods (GetTime, SetTime, SetNone, IsNone).
    - GUI_Options.cpp : Add option parsing for DateTime control (-align, -format, -shownone, -updown)
    - Typemap : LPARAM handle as string or integer.
+ [Steve Pick]
    - GUI.xs : Added Hook and UnHook methods. These let you do $win->Hook(MsgID, \&somesub); to hook a message to a sub. The sub must be a coderef, and is called with self, wparam and lparam args when the message is received by the window.
    - GUI.h  : Addition of avHooks to PERLWIN32GUI_CREATESTRUCT and PERLWIN32GUI_USERDATA.
    - GUI_MessageLoops.cpp : Addition of hook-calling code to NEM_WindowMsgLoop.
+ [Laurent Rocher]
    - GUI.pm : Fix -prompt option for TextField, correct color option for class (Win98SE).
    - GUI_Options.cpp : Correct -popstyle and -popexstyle like options.
+ [Glenn Linderman] GUI_Options.cpp : Correct menu -enabled option.
+ [Steve Pick] GUI.h : Added PERLWIN32GUI_NEM_TIMER event.
    - GUI.pm: fixed Win32::GUI::Class::new to avoid the "white background" syndrome on Windows 2000. Fixed conditional so that all operating systems with version above and including 5.1 have the no-white-background fix.
    - GUI_MessageLoops.cpp: added WM_TIMER event to NEM_WindowMsgLoop, now NEM handler -onTimer will be called whenever a timer added to the window triggers. The NAME of the timer is provided as an argument to the handler.
    - GUI_Options.cpp: Fix to allow -onTimer.
    - GUI_Events.cpp: NEM Events always returned PerlResult of -2, even if a handler was found and called for the event. Now it returns 0 if everything was successful, as it should judging by the rest of the code.
+ [Laurent Rocher] Add build with MinGW and ExtUtils-FakeConfig support.
  You can build Win32-GUI for ActiveState Perl with Free MingW Compiler.
  See HowTo : http://perso.club-internet.fr/rocherl/Win32GUI.html
+ [Steve Pick] GUI.pm: Fix ImageList bug
+ [Glenn Linderman] MessageLoops.cpp: Fix Window Cursor bug (Without return FALSE statement)
+ [Steve Pick] GUI.xs : Fix PeekMessage (move SvROK in inner if and remove sv_2mortal)
+ [Aldo Calpini] GUI.pm
    - fixed Win32::GUI::Class::new to avoid the "white background" syndrome on XP)
    - fixed a bug with options parsing in Win32::GUI::Textfield::new
    - reworked a little the code for Win32::GUI::AcceleratorTable
+ [Glenn Linderman] Accelerator key patch, Correct NotifyIcon DESTROY, add PM_* constants for use with TrackPopupMenu.
+ [Laurent Rocher] Fix some warnings, Remove unused variables, remove constants.c file.
+ [Trevor Garside] Add new RichEdit methods.
+ [Steve Pick & Laurent Rocher] Add parameters for WM_KEYDOWN and WM_KEYUP NEM events in NEM_ChildMsgLoop.
+ [Johan Lindstrom] Add WM_DROPFILES event in WindowMsgLoop.
+ [Laurent Rocher] Add new options for GetOpenFileName and GetSaveFileName.
+ [Jeremy White & Laurent Rocher] Add new datetime control methods and DTS_* styles constants.