Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- FiveWin 1.9.2 - January 97 - fivewin 1.6 c http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 FiveWin 1.6 c
=============

* Bug corrected: When pressing the up or down arrows on the ScrollBar of
  a ListBox a Clipper error was generated. Now it is Ok! Thanks Garry &
  thanks Manuel Pino! See TestLbx.prg for a sample.

* TestPop.prg sample has been corrected, now it is working properly.
  nRow, nCol coordinates were mixed, Thanks John.

* Popup menus may be created now also from resources. This is a feature
  Windows does not offer, but FiveWin yes! Now you can easily store
  Popup Menus in resources. See TestPop2.prg for a sample.

* Enhanced behavior: Ctrl-F4 and Ctrl-F6 keystrokes are properly working
  now on MdiChilds Windows !!!

* Today we got an incredible hidden bug! When were adjust the ButtonBar
  we were changing its zorder !!! My God! Now it is over and remember
  it for the future: always use SWP_NOZORDER when calling SetWindowPos(),
  you will sleep much better! <g>

* New MESSAGE clause added to all controls! Now you may specify message
  information for every GET, CHECKBOX, LISTBOX, etc... Remember that for
  using this capability you have you have to specify which window is the
  owner of the Dialog Box:

                // OF oWnd let us show the messages at oWnd

               DEFINE DIALOG oDlg RESOURCE "Clients" OF oWnd

                                    ...

               REDEFINE GET ... ...    MESSAGE "Whatever..."


* TextMetrics in Dialog Boxes has been corrected!  Thanks Derk and Miguel!
  Now, the dimensions of a Dialog Box and Windows dont change if you change
  the screen mode.

* New clause CENTERED added to SET MESSAGE OF oWnd TO ...
  Thanks Edmundo !!!

               SET MESSAGE OF oWnd TO "Whatever..." CENTERED

* Hot, hot, hot!!! We have a new DataBase Class that lets you manage
  DataBase as Objects. You may access the Fields as DATA of the DataBase
  Object:

        USE MyDbf

        DATABASE oDbf     // Automatically builted from the Alias
                          // We automatically inherit a new Class
                          // from TDataBase and we automatically
                          // instanciate an Object!

        @ nRow, nCol GET oDbf:Name OF oWnd

  We access the fields as DATA ! So there is no need to declare an keep
  local variables!  The information of the DataBase is automatically
  managed through a buffer ! So this is the perfect way to access DataBases
  in NetWorks!  Try them !  See DBF01.prg. FiveWin will follow this system
  more and more in the future.

* New method :Update() added in Class TWindow. :Update() checks which
  of its controls need to be :Refresh()ed. This is extremelly usefull
  to avoid declaring controls Object references in Dialog Boxes:

        We usually did:

        local oName

        REDEFINE GET oName VAR cName ID ... OF ...


        Now we can simply do:

        REDEFINE GET cName ID ... OF ...  UPDATE


        Later, when we want to repaint these controls, we just have to
        do:

        oDlg:Update()

        and only the UPDATE controls will be :Refresh()ed.

  Resuming: :Update() method is a selective :Refresh() that only works
  on some controls (those which have been declared with UPDATE clause).
  It is a very simple system ! That let us reduce a lot of code.

  Try this powerfull feature with the new DataBase Class and you will
  avoid a lot of writting code in your programs!!! Review the sample
  DBF01.prg and you will see how easy it is !!!

  We will follow this techniques more and more in the future!

 * New method :Set3DLook() added to Controls. Now you can make 3D look
   any control no matter if they are placed on a Dialog Box (in that
   case it gets 3D automatically if you did SET 3DLOOK ON).

 * Bug corrected: We were not default initializing control's :nId before
   calling -internally- ::DefControl(). Now it is ok! This only affected
   people who create Dialog Boxes from source code -You all should use
   Borland's Resource Workshop! and resources <g>-

 * Enhancement: Now it is possible to :End() a Window from a floating
   PopupMenu! Thanks Miguel Oliveira. It was quite sofisticated but...
   we did it!  See TestPop2.prg for a sample.

 * REDEFINE SAY clause has been enhanced to use both VAR | PROMPT, also
   you may specify FONT clause and the Say object gets automatically
   related with the shown value (we create a bSETGET codeblock!) , so
   changing the value and doing :Refresh() is ok to redisplay the SAY.

 * See MMedia.bat and MMedia files for an incredible MultiMedia demo
   completelly builted with FiveWin. -Configure your in screen in
   800x600 to test it better- Thanks Santi for this excelent FiveWin
   demo!   We are MultiMedia 100% !

 * New method added to TWindow base Class, ::Iconize() automatically
   iconizes a Window. Also a new method has been added to MDIFrame
   Windows, ::IconizeAll() which ::Iconize() all MDIChild Windows.
   Also a new default option has been added to standard MDI menu:
   "&Iconize All" which executes ::IconizeAll() method.

 * New method added to Menu Class, ::AddMdi(), automatically creates
   the standard MDI popup to control MDI Child windows from a MDI
   enviroment. See TestRpt1.prg to see how easy and powerfull is this
   new method!




Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson