New FTDN April/Abril 2009 (9.04)
Posted: Fri Apr 10, 2009 1:20 pm
April 2009
==========
* New: function HasAlpha( hBitmap ) --> lYesNo checks if a bitmap has alpha channel (transparency).
* New: Class TBitmap Method HasAlpha() --> lYesNo. (It does NOT need FreeImage.dll)
* New: Class TImage Method HasAlpha() --> lYesNo. (Based on FreeImage.dll)
* Fix: Class TFtp Method Directory(), there was a memory bug that was showing with new Harbour build
only. Now it is ok.
* New: CodeJock's RibbonBar support! Please review samples\RibonBar.prg
* New: function RegisterServer( cServerName ) --> nResult and UnregisterServer( cServerName ) --> nResult
let you register and unregister ActiveXs and OCX servers. In example:
RegisterServer( "Codejock.CommandBars.v13.0.0.ocx" )
source code: New file FWH\source\winapi\ocx.c
* Fix: function CtrlDrawFocus() was not stopping searching for container parents if a modal dialog
was found. Now it is ok. This function is used when a control uses the DESIGN clause and is moved
with the mouse.
* New: function CoInitialize(). This function should be called before calling IsActiveX( cProgId ) if
no ACTIVEX control has been created yet.
* New: Class TActiveX Method Destroy(). This method is required to solve a detected memory leak.
Now it is ok.
* Enhancement: Class TActiveX Events parameters management now automatically manage TOleAuto objects.
Please review FWH\samples\RibonBar.prg
* Fix: Class TGet fixed bug introduced in recent changes. Now it is ok. Reported by Michel.
* Enhancement: Class TBtnBmp automatic support for Bitmaps with Alpha Channel, plus many new
enhancements as rounder corners, better display of text and image, and some fixes. Please review
FWH\samples\TestBtn3.prg. Many thanks to Daniel!
* New: CUEBANNER support for Class TGet. Sets the textual cue, or tip, that is displayed by the edit control
to prompt the user for information. When the user clicks the text, the text goes away and the user can type.
You cannot set a cue banner on a multiline edit control or on a rich edit control. Themes support must be
activated in the application. It is a Windows API requirement
* Fix: function cGetFile() was calling hb_xfree() with an invalid pointer on some circunstances.
Now it is ok.
* New: functions ResizeBmp( hBitmap, nWidth, nHeight ) --> hNewBitmap // Creates a new resized bitmap from an
existing one
CreateRoundRectRgn( hWnd, nWidth, nHeight ) --> hRegion // Windows API docs
SetWindowRgn( hWnd, hRegion ) --> nResult // Windows API docs
SetAlpha( lOnOff ) --> lPrevious // Avoid the use of the bitmaps Alpha channel
* New: Class TBitmap automatic support for bitmaps with Alpha channel. Please review FWH\samples\BmpAlpha.prg
* New: Class TButtonBmp automatic support for bitmaps with Alpha channel. Please review FWH\samples\TestButn.prg
* New: Class TImage automatic support for bitmaps with Alpha channel. Please review FWH\samples\TestImg.prg
* New: Class TXBrowse automatic support for bitmaps with Alpha channel. Please review FWH\samples\xbalpha.prg
* Enhancement: REPORT, In the same manner as in XBrowse, date format can be specified like
'dd mmm yyyy' ( in any order ) for formatting dates independant of set date format and for
xHarbour, picture "@T" can be used to print datetime values.
* Enhancement: TREES ( FWH LinkLists ):
- Command TREEITEM:
- Clause [ACTION <uAction>] was not working. Now it is fixed.
- New Clause [CARGO <uCargo>]
- Function _TreeItem(...) is changed to accept the above two parameters
- Class TLinkList ( LinkList.Prg )
- New Method Levels() --> number of levels in the Tree
- New Method SetLevel( n ) --> Change the level of the Tree and all
subtrees ( useful when attaching a whole tree as a child of a treeitem
of another tree)
- Class TTreeItem ( TreeItem.Prg )
- New Method SetTree( oChild ) --> Set child Tree of an item of a
Tree, after the tree is built.
* Enhancement: function cValtoChar() now returns "{=>}" for Hash values.
* Enhancement: XBROWSE:
- When using rdd_ads with xbrowse, it was necessary to declare
external symbols ADSKEYCOUNT, ADSGETRELKEYPOS, ADSSETRELKEYPOS in the
source code. Now xbrowse.ch automatically requests these symbols, if
xbrowse.ch is included after ads.ch.
- TXBrowse new DATA bPopUp. When bPopUp for any column is not
assigned, oBrw:bPopUp is used if assigned
- In case of Tree Browse, the report method sets groups according to
the tree levels.
- Browsing blank arrays made easier. See xbrabln.prg in samples
- Now ragged arrays and nested arrays ( different rows containing
different number of columns and different types ) possible. See
xbrarag.prg. Double click on a nested array item opens another browse
of that array.
- Setting oCol:cDataType := 'T' displays dates in datetime format
(xharbour only).
- New Index ( #define BITMAP_ALPHA 6 ) in DATA aBitmap
- New TXBrwColumn DATA(s)
nAlphaLevelHeader Set Alpha Channel Tranparence Level over Header
nAlphaLevelFooter Set Alpha Channel Tranparence Level over Footer
bAlphaLevel Code Block to Set Alpha Channel Tranparence Level over cell
- New TXBrwColumn Method
METHOD nAlphaLevel( nLevel ) SETGET Set Alpha Channel Tranparence Level
* Fix: Class TRadio removed default initialization for nHelpID to 100. It was not needed.
* New: FiveHX.lib has been rebuilt with xHarbour 1.2.1 Rev. 6406. This new xHarbour build is available
from www.fivetechsoft.com/files/xharbour.exe
==========
* New: function HasAlpha( hBitmap ) --> lYesNo checks if a bitmap has alpha channel (transparency).
* New: Class TBitmap Method HasAlpha() --> lYesNo. (It does NOT need FreeImage.dll)
* New: Class TImage Method HasAlpha() --> lYesNo. (Based on FreeImage.dll)
* Fix: Class TFtp Method Directory(), there was a memory bug that was showing with new Harbour build
only. Now it is ok.
* New: CodeJock's RibbonBar support! Please review samples\RibonBar.prg
* New: function RegisterServer( cServerName ) --> nResult and UnregisterServer( cServerName ) --> nResult
let you register and unregister ActiveXs and OCX servers. In example:
RegisterServer( "Codejock.CommandBars.v13.0.0.ocx" )
source code: New file FWH\source\winapi\ocx.c
* Fix: function CtrlDrawFocus() was not stopping searching for container parents if a modal dialog
was found. Now it is ok. This function is used when a control uses the DESIGN clause and is moved
with the mouse.
* New: function CoInitialize(). This function should be called before calling IsActiveX( cProgId ) if
no ACTIVEX control has been created yet.
* New: Class TActiveX Method Destroy(). This method is required to solve a detected memory leak.
Now it is ok.
* Enhancement: Class TActiveX Events parameters management now automatically manage TOleAuto objects.
Please review FWH\samples\RibonBar.prg
* Fix: Class TGet fixed bug introduced in recent changes. Now it is ok. Reported by Michel.
* Enhancement: Class TBtnBmp automatic support for Bitmaps with Alpha Channel, plus many new
enhancements as rounder corners, better display of text and image, and some fixes. Please review
FWH\samples\TestBtn3.prg. Many thanks to Daniel!
* New: CUEBANNER support for Class TGet. Sets the textual cue, or tip, that is displayed by the edit control
to prompt the user for information. When the user clicks the text, the text goes away and the user can type.
You cannot set a cue banner on a multiline edit control or on a rich edit control. Themes support must be
activated in the application. It is a Windows API requirement
* Fix: function cGetFile() was calling hb_xfree() with an invalid pointer on some circunstances.
Now it is ok.
* New: functions ResizeBmp( hBitmap, nWidth, nHeight ) --> hNewBitmap // Creates a new resized bitmap from an
existing one
CreateRoundRectRgn( hWnd, nWidth, nHeight ) --> hRegion // Windows API docs
SetWindowRgn( hWnd, hRegion ) --> nResult // Windows API docs
SetAlpha( lOnOff ) --> lPrevious // Avoid the use of the bitmaps Alpha channel
* New: Class TBitmap automatic support for bitmaps with Alpha channel. Please review FWH\samples\BmpAlpha.prg
* New: Class TButtonBmp automatic support for bitmaps with Alpha channel. Please review FWH\samples\TestButn.prg
* New: Class TImage automatic support for bitmaps with Alpha channel. Please review FWH\samples\TestImg.prg
* New: Class TXBrowse automatic support for bitmaps with Alpha channel. Please review FWH\samples\xbalpha.prg
* Enhancement: REPORT, In the same manner as in XBrowse, date format can be specified like
'dd mmm yyyy' ( in any order ) for formatting dates independant of set date format and for
xHarbour, picture "@T" can be used to print datetime values.
* Enhancement: TREES ( FWH LinkLists ):
- Command TREEITEM:
- Clause [ACTION <uAction>] was not working. Now it is fixed.
- New Clause [CARGO <uCargo>]
- Function _TreeItem(...) is changed to accept the above two parameters
- Class TLinkList ( LinkList.Prg )
- New Method Levels() --> number of levels in the Tree
- New Method SetLevel( n ) --> Change the level of the Tree and all
subtrees ( useful when attaching a whole tree as a child of a treeitem
of another tree)
- Class TTreeItem ( TreeItem.Prg )
- New Method SetTree( oChild ) --> Set child Tree of an item of a
Tree, after the tree is built.
* Enhancement: function cValtoChar() now returns "{=>}" for Hash values.
* Enhancement: XBROWSE:
- When using rdd_ads with xbrowse, it was necessary to declare
external symbols ADSKEYCOUNT, ADSGETRELKEYPOS, ADSSETRELKEYPOS in the
source code. Now xbrowse.ch automatically requests these symbols, if
xbrowse.ch is included after ads.ch.
- TXBrowse new DATA bPopUp. When bPopUp for any column is not
assigned, oBrw:bPopUp is used if assigned
- In case of Tree Browse, the report method sets groups according to
the tree levels.
- Browsing blank arrays made easier. See xbrabln.prg in samples
- Now ragged arrays and nested arrays ( different rows containing
different number of columns and different types ) possible. See
xbrarag.prg. Double click on a nested array item opens another browse
of that array.
- Setting oCol:cDataType := 'T' displays dates in datetime format
(xharbour only).
- New Index ( #define BITMAP_ALPHA 6 ) in DATA aBitmap
- New TXBrwColumn DATA(s)
nAlphaLevelHeader Set Alpha Channel Tranparence Level over Header
nAlphaLevelFooter Set Alpha Channel Tranparence Level over Footer
bAlphaLevel Code Block to Set Alpha Channel Tranparence Level over cell
- New TXBrwColumn Method
METHOD nAlphaLevel( nLevel ) SETGET Set Alpha Channel Tranparence Level
* Fix: Class TRadio removed default initialization for nHelpID to 100. It was not needed.
* New: FiveHX.lib has been rebuilt with xHarbour 1.2.1 Rev. 6406. This new xHarbour build is available
from www.fivetechsoft.com/files/xharbour.exe