home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4611 / fw16d.ins / WHATSNEW.16 < prev   
Text File  |  1994-06-12  |  24KB  |  608 lines

  1.  
  2.                 New features and bug corrections for FiveWin
  3.                 ============================================
  4.  
  5. FiveWin 1.6 d
  6. =============
  7.  
  8. * Bug corrected: numeric GET correctly updates now when loosing focus.
  9.  
  10. * Bug corrected: moving left or right in numeric gets now properly
  11.   updates cursor position.
  12.  
  13. * Bug corrected: We were not properly controlling Bad Dates on a date
  14.   GET. Now it is working ok! See TestDat2.prg sample.
  15.  
  16. * Enhancement: Now we you finish typing in a GET -i.e.: when you finish
  17.   typing a date- the focus automatically jumps to the next control.
  18.   Like in Clipper MsDos! See TestDat2.prg sample.
  19.  
  20. * Enhancement: Now it is possible to set the message ::cMsg of any control
  21.   so when the mouse moves over the control the message bar of the container
  22.   window of the control will show on its message bar (if defined) the
  23.   control message. This is very usefull to let the user identify the
  24.   functionality of all the differents elements of the screen just moving
  25.   the mouse over them. See IDE.exe for a good sample.
  26.  
  27.   The message of the control also gets automatically selected when the
  28.   control gets the focus. So the message stored in the data ::cMsg of
  29.   a control will be shown when the mouse moves over it and also when the
  30.   control gets focused.
  31.  
  32.  
  33.  
  34. FiveWin 1.6 c
  35. =============
  36.  
  37. * Bug corrected: When pressing the up or down arrows on the ScrollBar of
  38.   a ListBox a Clipper error was generated. Now it is Ok! Thanks Garry &
  39.   thanks Manuel Pino! See TestLbx.prg for a sample.
  40.  
  41. * TestPop.prg sample has been corrected, now it is working properly.
  42.   nRow, nCol coordinates were mixed, Thanks John.
  43.  
  44. * Popup menus may be created now also from resources. This is a feature
  45.   Windows does not offer, but FiveWin yes! Now you can easily store
  46.   Popup Menus in resources. See TestPop2.prg for a sample.
  47.  
  48. * Enhanced behavior: Ctrl-F4 and Ctrl-F6 keystrokes are properly working
  49.   now on MdiChilds Windows !!!
  50.  
  51. * Today we got an incredible hidden bug! When were adjust the ButtonBar
  52.   we were changing its zorder !!! My God! Now it is over and remember
  53.   it for the future: always use SWP_NOZORDER when calling SetWindowPos(),
  54.   you will sleep much better! <g>
  55.  
  56. * New MESSAGE clause added to all controls! Now you may specify message
  57.   information for every GET, CHECKBOX, LISTBOX, etc... Remember that for
  58.   using this capability you have you have to specify which window is the
  59.   owner of the Dialog Box:
  60.  
  61.                 // OF oWnd let us show the messages at oWnd
  62.  
  63.                DEFINE DIALOG oDlg RESOURCE "Clients" OF oWnd
  64.  
  65.                                     ...
  66.  
  67.                REDEFINE GET ... ...    MESSAGE "Whatever..."
  68.  
  69.  
  70. * TextMetrics in Dialog Boxes has been corrected!  Thanks Derk and Miguel!
  71.   Now, the dimensions of a Dialog Box and Windows dont change if you change
  72.   the screen mode.
  73.  
  74. * New clause CENTERED added to SET MESSAGE OF oWnd TO ...
  75.  
  76.                SET MESSAGE OF oWnd TO "Whatever..." CENTERED
  77.  
  78. * Hot, hot, hot!!! We have a new DataBase Class that lets you manage
  79.   DataBase as Objects. You may access the Fields as DATA of the DataBase
  80.   Object:
  81.  
  82.         USE MyDbf
  83.  
  84.         DATABASE oDbf     // Automatically builted from the Alias
  85.                           // We automatically inherit a new Class
  86.                           // from TDataBase and we automatically
  87.                           // instanciate an Object!
  88.  
  89.         @ nRow, nCol GET oDbf:Name OF oWnd
  90.  
  91.   We access the fields as DATA ! So there is no need to declare an keep
  92.   local variables!  The information of the DataBase is automatically
  93.   managed through a buffer ! So this is the perfect way to access DataBases
  94.   in NetWorks!  Try them !  See DBF01.prg. FiveWin will follow this system
  95.   more and more in the future.
  96.  
  97. * New method :Update() added in Class TWindow. :Update() checks which
  98.   of its controls need to be :Refresh()ed. This is extremelly usefull
  99.   to avoid declaring controls Object references in Dialog Boxes:
  100.  
  101.         We usually did:
  102.  
  103.         local oName
  104.  
  105.         REDEFINE GET oName VAR cName ID ... OF ...
  106.  
  107.  
  108.         Now we can simply do:
  109.  
  110.         REDEFINE GET cName ID ... OF ...  UPDATE
  111.  
  112.  
  113.         Later, when we want to repaint these controls, we just have to
  114.         do:
  115.  
  116.         oDlg:Update()
  117.  
  118.         and only the UPDATE controls will be :Refresh()ed.
  119.  
  120.   Resuming: :Update() method is a selective :Refresh() that only works
  121.   on some controls (those which have been declared with UPDATE clause).
  122.   It is a very simple system ! That let us reduce a lot of code.
  123.  
  124.   Try this powerfull feature with the new DataBase Class and you will
  125.   avoid a lot of writting code in your programs!!! Review the sample
  126.   DBF01.prg and you will see how easy it is !!!
  127.  
  128.   We will follow this techniques more and more in the future!
  129.  
  130.  * New method :Set3DLook() added to Controls. Now you can make 3D look
  131.    any control no matter if they are placed on a Dialog Box (in that
  132.    case it gets 3D automatically if you did SET 3DLOOK ON).
  133.  
  134.  * Bug corrected: We were not default initializing control's :nId before
  135.    calling -internally- ::DefControl(). Now it is ok! This only affected
  136.    people who create Dialog Boxes from source code -You all should use
  137.    Borland's Resource Workshop! and resources <g>-
  138.  
  139.  * Enhancement: Now it is possible to :End() a Window from a floating
  140.    PopupMenu! Thanks Miguel Oliveira. It was quite sofisticated but...
  141.    we did it!  See TestPop2.prg for a sample.
  142.  
  143.  * REDEFINE SAY clause has been enhanced to use both VAR | PROMPT, also
  144.    you may specify FONT clause and the Say object gets automatically
  145.    related with the shown value (we create a bSETGET codeblock!) , so
  146.    changing the value and doing :Refresh() is ok to redisplay the SAY.
  147.  
  148.  * See MMedia.bat and MMedia files for an incredible MultiMedia demo
  149.    completelly builted with FiveWin. -Configure your in screen in
  150.    800x600 to test it better- Thanks Santi for this excelent FiveWin
  151.    demo!   We are MultiMedia 100% !
  152.  
  153.  * New method added to TWindow base Class, ::Iconize() automatically
  154.    iconizes a Window. Also a new method has been added to MDIFrame
  155.    Windows, ::IconizeAll() which ::Iconize() all MDIChild Windows.
  156.    Also a new default option has been added to standard MDI menu:
  157.    "&Iconize All" which executes ::IconizeAll() method.
  158.  
  159.  * New method added to Menu Class, ::AddMdi(), automatically creates
  160.    the standard MDI popup to control MDI Child windows from a MDI
  161.    enviroment. See TestRpt1.prg to see how easy and powerfull is this
  162.    new method!
  163.  
  164.  
  165.  
  166. FiveWin 1.6 b
  167. =============
  168.  
  169. * New bMMoved data added to base Class TWindow. Now we can defined actions
  170. to performed when the mouse is moved:
  171.  
  172.               oWnd:bMMoved = { | nRow, nCol, nKeyFlags | ... }
  173.  
  174. * Dialogs ON INIT Clause is now working. When and Init clauses were
  175. incorrectly managed. WHEN shoud avoid Dialog Execution and INIT, now,
  176. properly initializes if defined. Thanks Satiago Perez!
  177.  
  178. * We have added control to Windows WM_QUERYENDSESSION, that is, the message
  179. Windows sends to check if we allow to finish Windows execution. When we
  180. receive this message we try to :End() the window or the DialogBox. If
  181. successfully then we allow Windows to End(). Try this:
  182.  
  183.      DEFINE WINDOW oWnd FROM 1, 1 TO 10, 50 TITLE "You can not end me!"
  184.  
  185.      ACTIVATE WINDOW oWnd ;
  186.         VALID MsgYesNo( "Do we let Windows end ?" )
  187.  
  188. Execute it and try to End Windows!
  189.  
  190. * ON [ LEFT ] DBLCLICK clause added to standard ListBoxes! It was missing.
  191.  
  192. * ADJUST clause on ButtonBitmaps was missing! Now it is ok.
  193.  
  194. * The Windows Help designer at the IDE is working! Now you may easily
  195.   create Windows Help files without having to use any word processor!
  196.   Extremely easy to build documentation for applications! The Norton
  197.   Guides generation support will be added pretty soon.
  198.  
  199. * Now to refresh a SAY on screen you may just change the associated
  200.   variable value and then do :Refresh() to the SAY Object. We have added
  201.   this behavior to standarize it with the rest of Controls we manage.
  202.  
  203.   Also, it is possible to especify VAR or PROMPT, as now we will reflect
  204.   automatically -when :Refresh()ing- the new values of the VARiable.
  205.  
  206. * We already have SET KEYs !!! like in MsDos !!! My God! How easy was it
  207.   to implement it and how blind we were <g> !!! Enjoy SET KEY power !!!
  208.   Look at TestKeys.prg example.
  209.  
  210. * The debugger is working !!!  Just compile with /b and... uhhhhhhh!!!
  211.   We have modified BUILD.BAT to easily debug a program, just do:
  212.  
  213.                           BUILD MyProg /b
  214.  
  215.    The whole debugger has been written using FiveWin !!! We are going to
  216.    provide all the debugger source code so you will be able to customize
  217.    the debugger to your own needs !
  218.  
  219.  * The Windows Help files generator is working from the IDE !!! Try it!
  220.    You will be able to write HLP files in a matter of minutes... !!!
  221.    You need the utility HC.EXE or HC31.EXE to generate the HLPs from
  222.    inside the IDE. Look at your Borland\bin directories or at Microsoft.
  223.    You may even place bitmaps in your HLPs very easily.
  224.  
  225.  * The Dialog Box designer from inside the IDE is almost ready. Start
  226.    testing it, and see how quicly FiveWin generates source code !!!
  227.    Now we must add VALID, etc... capabilities. We are working on it.
  228.  
  229.  * A new expression Builder is almost ready. Review Indexes from the IDE.
  230.    To build an expression just do:
  231.  
  232.               cGetExpression( [ cOldExpression ] [, cTitle ] )
  233.  
  234.    with expression-syntax checking and the ability to review all workareas
  235.    fields, variables, ...
  236.  
  237.  * New method :SetFore() for Bitmaps Objects. This Method forces the
  238.    Bitmap to implement its own palette, so its image gets properly
  239.    -with its colors- displayed. See FwRes.prg for an example.
  240.  
  241.  * What is the next ? We go for documentation... yes, very soon, as
  242.    quickly as we can. And meanwhile we are preparing something really
  243.    hot: Drag&Drop FiveWin own interface. Visual Programming is nothing
  244.    for what you are going to see very soon...  The next step in CASE
  245.    technologies is about to arrive... stay tuned! <g>
  246.  
  247.  * We have been reducing the .CH files trying to avoid Clipper 5.01
  248.    memory overbooked problem when compiling. Sorry for this. We were
  249.    using version 5.2 and we forgot about 5.01 problems. If you get
  250.    this problem try to remove unnecessary CH and, if you can, use
  251.    Clipper 5.2 !
  252.  
  253.  * We want to thank all the people who is helping us. From all countries
  254.    people is providing very important help to develop FiveWin. An
  255.    incredible Reporting engine is about to be added coming from Madrid
  256.    -thanks Ignacio!-, a superb-Browse is near to be ready coming from USA
  257.    -thanks Kevin!-, an incredible Data-Driven-Dictionary is beeing builted
  258.    -thanks J. Mariano!-, the power to read and write RCs from FiveWin is
  259.    coming from Netherlands -thanks Derk!- Thanks Alan Ashendorf for his
  260.    support, his ideas and experience. Thanks all of you for putting
  261.    your heart on this project!
  262.  
  263.    
  264.  
  265. FiveWin 1.6
  266. ===========
  267.  
  268. * New RecAdd() method for TWBrowse. Adds a new record to the Alias where
  269.   the TWBrowse was created. RecAdd() evals a codeblock placed at the
  270.   instvar :bAdd. Change that codeblock to suit your particular needs
  271.   for adding records from inside the Browse.
  272.  
  273. * New UpStable() method for TWBrowse. This avoid the typicall Clipper
  274.   Browse bug when seeking to an above item in the Browse. Call :UpStable()
  275.   to properly stabilize browses in those situations.
  276.  
  277. * Bug fixed: TWindow:Move() method was not updating the Window coors!
  278.   Now it is working fine.
  279.  
  280. * Bug fixed: ListBox created from source code were not properly initializing
  281.   its items. Now it is ok. A new Method added: TListBox:Default() which
  282.   initializes items from source code and form resources also.
  283.  
  284. * We are removing the 3D effects we implemented in previous versions of
  285.   FiveWin. Much better to use CTL3D.DLL so we will move easily to next
  286.   Windows 4 - named Chicago.
  287.  
  288. * New INDEXED FILTERS for Browses !!! Now you can use Indexed Filters,
  289.   wich are extremely fast- with Browses. This means, you may especify
  290.   a selection to be only shown on the Browse:
  291.  
  292.          @ ..., ... LISTBOX ... BROWSE ...
  293.            ...
  294.            SELECT <cField> FOR <uVal1> [ TO <uVal> ]
  295.  
  296.  
  297.   cField is the name of the Index Key field. FiveWin will do a SEEK based
  298.   on cField on the current INDEX. The SEEKed expression is <uVal1> and
  299.   the Browse will show from that value up to the next change of the Index Key
  300.   or <uVal2> if especified.
  301.  
  302.   Before ACTIVATING the Dialog where the Browse control is Shown, you MUST
  303.   SEEK the <uVal1> expression to properly place the RecNo of the DataBase.
  304.  
  305.   See FwBrow.prg for a complete demo of the new powerfull Clause!!!
  306.  
  307.   Also a new method :SetFilter() has been implemented in Browses, letting
  308.   you change the indexed filter on the fly!!! Extremely powerfull!
  309.  
  310. * Bug fixed: INI file is working fine now! Sorry, we forgot about it.
  311.   See the new IDE.prg for a complete example about how to manage them.
  312.   Extremely easy!
  313.  
  314. * Fonts for Browses! Now you may specify any font to be used by the Browse.
  315.   Uhhhh! Really elegant!
  316.  
  317. * VALID for Windows: We are implementing VALIDations for :End() ing Windows.
  318.   MDI Child already support them. Very, very usefull when you have to close
  319.   an area before ending the Window.
  320.  
  321. * We are almost ready for Trees! in FiveWin! Like the ones you may see at
  322.   Chicago or at OS2 ! Now you can review the information like a 'tree':
  323.   opening and closing the tree extensions. Trees are implemented on Clipper
  324.   Linked Lists (yes, like C ones!). We are going to inherit from TWBrowse.
  325.  
  326. * 24/04/94: Objects 3.0 has been added to FiveWin. Now FiveWin is much faster
  327.   , less stack consuming and has a _lot_ of new features. We will cover in
  328.   the documentation all the new aspects of Objects 3.0 engine!
  329.  
  330. * New Clause 3D for ButtonBars. Now you can have the same look as Borland's
  331.   ButtonBars. Try it with BUTTONSIZE clause also, to make them larger!
  332.  
  333. * CursorHand() now let show the nice WinHelp Hand Cursor! It is not necessary
  334.   to load any DLL as we create the cursor inside FiveWin.lib !!!
  335.  
  336. * Also try CursorCatch()
  337.  
  338. * SetDate( nDay, nMonth, nYear ) new function to change System Date from
  339.   Windows.
  340.  
  341.   Example: SetDate( 25, 11, 1982 )  --> returns .t. if success
  342.  
  343. * Bug fixed in xPad...() functions. Now we use as default Chr(32) instead of 32.
  344.  
  345. * Bug fixed in Popup Menus: They worked fine but they did not process
  346.   actions. Thanks Miguel!
  347.  
  348. * cGetFile() have been enhanced! Now you may use all these ways:
  349.  
  350.               cGetFile( "*.dbf", "Select a DataBase" )
  351.  
  352.               or
  353.  
  354.               cGetFile( "Clipper DataBase (*.dbf) | *.dbf |" + ;
  355.                         "Paradox DataBase (*.db) | *.db |" + ;
  356.                         "ODBC DataBase (*.odb) | *.odb", "Select a DataBase" )
  357.  
  358. In this last example you may specify a third parameter to indicate in which
  359. kind of file you want to start:
  360.  
  361.               cGetFile( "Clipper DataBase (*.dbf) | *.dbf |" + ;
  362.                         "Paradox DataBase (*.db) | *.db |" + ;
  363.                         "ODBC DataBase (*.odb) | *.odb",;
  364.                         "Select a DataBase", 2 )      // Starts with Paradox
  365.  
  366. * Colors standarization: We are using for GETs now the standard colors
  367. at Windows. You may select any color -from @ or from REDEFINE- on GETs
  368. -normal GETs and multiline GETs-. Thanks to Jon Kilburn!
  369.  
  370. * We have implemented COLOR clause in all Windows and almost all controls.
  371.  Also, now it is possible to use COLOR <cXBASEColor>, the standard color
  372.  strings format:
  373.  
  374.      ... COLOR "W+/B"
  375.  
  376.  See Color Management at the documentation NG file.
  377.  
  378. * Warning, warning, warning:
  379.   We have been checking the new Borland's C++ 4.0 BWCC.DLL and
  380.   be aware that we have found some problems with colors in controls.
  381.   It seems the new BWCC.DLL does not work properly, or at least in
  382.   the same manner as in the previous version. We needed one full day
  383.   work to find this bug!!!  Be aware of the BWCC.DLL you use !!!
  384.  
  385. * ChooseColor() has been changed. Now it returns the nRGBColor we provide
  386. it in case the user selects cancel.
  387.  
  388. * Bug fixed: ::BeginPaint() was not initializing ::nPaintCount. Now it is
  389.   Ok!
  390.  
  391. * VALID clause added to Windows. Try TestEnd.prg. Now we can decide if
  392.   allow to :End() a Window.
  393.  
  394. * VALID clause working also in MDI Windows! The main MDI Frame Window will
  395.   request its MDI Childs to VALID before ending :End() them.
  396.  
  397. * We are controlling Palettes!!! When a bitmap gets focus also set its
  398.   palette. All is done automatically!
  399.  
  400. * :SelFont() method has been enhanced. Now we automatically detect previous
  401.   font used by the Object, and also we select the color the user chooses.
  402.  
  403. * Focus management changed: Now we have :SetFocus(), :GotFocus() and
  404.   :LostFocus() methods.
  405.  
  406.   To give the focus to a control just do:  oCtrl:SetFocus()
  407.  
  408. * Automatic Cursors management for all Windows and controls. Now you can
  409.   assign a nice mouse cursor to be automatically selected when the mouse
  410.   is over your control or window.
  411.  
  412.   See TestCurs.prg
  413.  
  414. * Bug corrected: We were duplicating ComboBox items when initializing.
  415.   This was already solved in ListBox Class but it was missing in ComboBox.
  416.   Sorry!
  417.  
  418. * ODBC is working: Yes! See TestODBC.prg for a full working demo. In previous
  419. versions we had the bug ODBC only manages LONG handles! God! Now it is
  420. going super! We have been testing it with the xBase ODBC driver provided
  421. with Borland's Visual Solutions Pack. Please, if you develop some ODBC
  422. examples send some to us. Thanks!
  423.  
  424. * Communications are working! See TestComm.prg for a full working version.
  425. We would like to add ZModem support to FiveWin. If you please know about
  426. some freeware zmodem code please let us know! Thanks!
  427.  
  428. * New Methods: :Hide() and Show() . They have been implemented at TWindow
  429. base Class, so all Objects which classes inherits from TWindow may use
  430. them! Hide() hides an Object and Show() shows the Object <g>.
  431.  
  432. * New methods: :Save() for TGet and TMultiGet Class. They updates the
  433. Clipper character related variable with the screen control text.
  434.  
  435.  
  436. FiveWin 1.5
  437. ===========
  438.  
  439.  * Reset() method added to TComboBox Class -it was missing!- It resets
  440.    the contents of a ComboBox and also empties the associated array.
  441.  
  442.  * TRadMenu:Refresh() method added. Also, TRadio:lIsChecked() method added.
  443.  
  444.  * Automatic defaults values for TRadMenu -to 1- and for TCheckBox -to .f.-.
  445.    This avoid crashing the system when the user forgets to properly
  446.    initialize variables.
  447.  
  448.  * New PIXEL clause now added to ScrollBars. We are testing this Clause to
  449.    be soon implemented to all controls.
  450.  
  451.  * New scrolling methods for Bitmaps!!! Really nice! You may Scroll a bitmap
  452.    in the four directions inside its own area.
  453.  
  454.    ::ScrollUp(), ::ScrollDown(), ::ScrollLeft(), ::ScrollRight()
  455.  
  456.    You may review now bitmaps bigger than their visible area !!!
  457.  
  458.  * All the above -Scrolling Bitmaps- it is automatically! executed when
  459.    doing a @ ..., ... BITMAP ... SCROLL...      It is extremely easy!
  460.  
  461.  * Bug fixed: Missing correct initialization when doing @ ...,... SCROLLBAR.
  462.    Now everything goes fine!
  463.  
  464.  * New INLINE clause added in OBJECTS.CH. INLINE Clause gets converted into
  465.    a BLOCK clause but it is much more easier to manage. We are preparing
  466.    FiveWin for the new OBJECTS 3.0 engine will be included in next version
  467.    of FiveWin. We will replace BLOCK clauses into INLINE -better xBase!-
  468.  
  469.  * More capabilities: Max number of INSTVARS -DATA- now up to 100!
  470.    Thanks Miguel! If someone needs more, please say. -Those enhancements
  471.    have been done inside OBJECTS engine modules- If you are using OBJECTS
  472.    also for your Clipper DOS Classes, you just need DATA.OBJ from inside
  473.    FiveWin. Take it using LIB.EXE FiveWin * Data,,
  474.  
  475. *  ADJUST clause for Bitmaps! Now, it is possible to make a Bitmap adjust
  476.    its picture to its own visible area!
  477.  
  478.    @ nRow, nCol BITMAP oBmp ... ADJUST ...
  479.  
  480.    or just doing:
  481.  
  482.    oBmp:lStretch = .t.
  483.    oBmp:Refresh()
  484.  
  485.    or
  486.  
  487.    oBmp:lStretch = .f.
  488.    oBmp:Refresh()
  489.  
  490.    to restore it to its normal state!
  491.  
  492. * Bug correction: in Browses ON THUMBPOS did not activate ON CHANGE clause.
  493.   Now it works correctly!
  494.  
  495.  
  496. FIVEWIN 1.5 b
  497. =============
  498.  
  499. * DOUBLES numbers params added to CallDll() and DLL.ch.
  500.   Thanks Miguel!
  501.  
  502. * New BUTTONSIZE clause for BUTTONBARs: Now it is possible to define the
  503.   desired width and height of the Buttons of the ButtonBar when creating
  504.   the ButtonBar.
  505.  
  506.           DEFINE BUTTONBAR oBar BUTTONSIZE 80, 40 OF oWnd
  507.  
  508.   Also, they have been enhanced to support 256 colors! and the ability to
  509.   adjust automatically its size to the whole area of the button:
  510.  
  511.           DEFINE BUTTON OF oBar ...  ADJUST
  512.  
  513. * We are already using intensively the OOPS clause INLINE. It is very
  514.   fast and very nice xBase!
  515.  
  516. * Bug fixed: Method TTimer:DeActivate(). Now it is ok. Thanks Javier Blasco!
  517.  
  518. * New Pixel param added to TWindow:Say() method:
  519.  
  520.        oWnd:Say( nRow, nCol, cText, nClrText, nClrBack, oFont, lPixel )
  521.  
  522.   If lPixel is .t. FiveWin uses pixels instead of characters.
  523.  
  524.  
  525. FiveWin 1.4
  526. ===========
  527.  
  528.  * New: PullDown Menu from resources !!! And also, MenuItems bitmaps
  529.    from resources.
  530.  
  531.  
  532.  * Bug: cCtrl2Chr() admits now any length (always less than 64Ks). This
  533.    was detected when doing MemoEdits from source code with char variables
  534.    bigger than 200 characters:
  535.  
  536.                @ nRow, nCol GET cText DIALOG oDlg MULTILINE
  537.  
  538.  
  539.  * Bug: We detect when compiling with /b and avoid errors. We are working on
  540.    the debugger for Windows.
  541.  
  542.  
  543.  * WndCenter() now accepts two parameteres:
  544.  
  545.         1. The hWnd of the Window to be centered.
  546.         2. The hWnd of the Parent Window. GetDesktopWindow By default.
  547.  
  548.    A new method added to TWindow:  Center( oWnd )
  549.  
  550.  
  551.  * Clause ON CHANGE / ON CLICK added to RadioButtons!
  552.  
  553.  
  554.  * SET RESOURCES now admits as many DLLs as we need. They automatically
  555.    get freed when application ends. We may select an active RESOURCES DLL
  556.    doing SET RESOURCES TO ...  -previously opened DLL-.
  557.  
  558.  
  559.  * New clause for Scrollbars: ON THUMBPOS YourAction( nPos )
  560.  
  561.      This event is generated when the user moves the Scrollbar Thumb
  562.      and places it into a new position.
  563.  
  564.      We automatically supply nPos parameter wich is the ScrollBar
  565.      Bar in Range new nPosition. It is responsability of you to let
  566.      the scrollbar updates its thumb:
  567.  
  568.      REDEFINE SCROLLBAR oScrollBar ...
  569.        ...
  570.  
  571.      ON THUMBPOS ( DbSkip( nPos - RecNo() ),;     // To move through DBF
  572.                    oScrollBar:SetPos( nPos ) )    // We let the ScrollBar
  573.                                                   // updates its pos
  574.  
  575.      If you don't clearly understand what means nPos, try this:
  576.  
  577.      ON THUMBPOS MsgInfo( Str( nPos ) )
  578.  
  579.  
  580.  * New and incredible powerfull print methods!!! :
  581.  
  582.    :Print( oPrint, nRow, nCol, nScale )     // Print any Window on printer oPrn
  583.  
  584.    :HardCopy( nScale )    // Makes a hardcopy of any Window, Dialog, Control,
  585.                           // Bitmap, etc... to printer
  586.  
  587.    They admit a nScale factor! to set the desire size we want!
  588.  
  589.    -try FwBorl.prg and press Print button on Clients Dialog Box! Really hot!
  590.  
  591.  
  592.  * New Clause ON CLICK / ON CHANGE for Browses.
  593.  
  594.  
  595.  * New Clauses ON [ LEFT ] CLICK and ON RIGHT CLICK for Bitmaps!
  596.  
  597.    Three parameters are automatically supplied: nRow, nCol, nKeyFlags when
  598.    executing the action you provide for those events.
  599.  
  600.            ON CLICK MsgInfo( Str( nRow ) + ";" + Str( nCol ) + ";" + ;
  601.                              Str( nKeyFlags ) )
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.