Quantcast
Channel: FiveTech Software tech support forums
Viewing all articles
Browse latest Browse all 26233

New FTDN March 2016 (FWH 16.03)

$
0
0
March 2016 ========== * New: FWH 64 is fully compatible with Borland BCC 7.0 and 7.1 64 bits * Fix: ButtonBmp (buttonb.prg ): Backward compatibility issue fixed * Fix: gdiplus.cpp: HB_FUNC( GDIPLUSCREATECOLOR ) Color clr = Color( hb_parnl( 1 ), hb_parnl( 2 ), hb_parnl( 3 ), hb_parnl( 4 ) ); * Improvement: gdiplus.cpp: HB_FUNC( GDIPLUSIMAGEPIXTOGRAYCOLOR ) Now Alpha incorporate * Fix: Resize() method of GdiBmp class was wrongly calculating width, when paramter width is nil. Fixed. * New: gdiplus.cpp: HB_FUNC( GDIPLUSPENSETLINEJOIN ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSDRAWTEXT ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSDRAWTEXTFONT ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSFONTCREATEFROMHDC ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSPATHADDELLIPSE ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSTEXTTOBMP ) * New: gdiplus.cpp: HB_FUNC( GDIPLUSBMPFROMTXTCENTER ) * Improvement: gdiplus.cpp: HB_FUNC( GDIPLUSIMAGESAVE ) Fix name of file * Improvements: Class Graphics METHOD DrawText now allowed to pass as a parameter the name of the font or object * New: Class Graphics METHOD DrawTextLFont Use LOGFONT of font object actual * New: Class Pen METHOD SetLineJoin * New: Class Path DATA lNoHighQuality METHOD AddString( cText, cFont, nStyle, eMSize, nTop, nLeft, nRight, nBottom ) METHOD FillPath( oGraphics, oBrush, oWnd ) METHOD DrawPath( oGraphics, oPen, oWnd ) * Unicode: - GDIP_ImageFromFile() now accepts Unicode filename also * Fix: There was a bug in Class TDde. Now it is ok: * Fix: DLL FUNCTION ... for FWH 64 bits was not properly supporting the parameters supplied by reference. Now it is ok: * New color conversion functions: - RGBTOHSL( nRGB ) --> { hue, saturation, luminence } or RGBTOHSL( { r, g, b } ) or RGBTOHSL( R, G, B ) - HSLTORGB( { h, s, l } ) --> { R, G, B, nRGB } * New: Class TToast implements Windows desktop notifications, with header, footer, bitmap, settings menu, button close, and possibility of add controls of notification. Also, It can be used to create a standard tooltip control with the same properties as notifications. Please review samples\toastest.prg for a working example. * XBROWSE: (a) Fix: Veritcal resizing of row height with mouse at runtime stopped working from ver.15.12. Fixed (b) Enhancement: SetCheck() was required to be called only before the Adjust() method of xbrowse was executed. Now SetCheck() can be called at anytime, including runtime. - SetCheck() also centers header. Note: When XBrowse is created in a Window, Adjust() is called during execution of CreateFromCode(). In case of dialogs, Adjust() method is executed during Init of the Dialog. (c) Enhancement: AutoFit() can be called at anytime now: AutoFit( [aColsToFit], [lVisibleOrNumRows], [lDataOnly], [nMaxWidth] ) aColsToFit: Optional array of columns to fit. Defaults to all columns, if called after Adjust() method Defaults to only those columns to which nWidth is not expressly assigned (and EDIT_LISTBOX), if called before Adjust() method. lVisibleOrnumRows: When .T. is specified during runtime, only visible rows are adjusted. If a number is specifed, only the first specified of rows are adjusted. Default is all rows. This may be slow for large disk based datas sources. lDataOnly: Default .f. If .t. width is adjusted to fit data only and header and footer widths are not considered. nMaxWidth: If specified the width of any column is limited to this maximum. (d) New data lDrawBorder (default .f.) If set to .t., draws a single line border around the browse. Useful when not having recordselector, headers, or scrollbars. * New Class TArrayData: Can be used with multi-dimentional arrays the same way as TDatabase and TRecset. Usage: oData := TArrayData():New( aArrayData, aStructure ) aStructure is similar to dbf structure. Method SetArray( aData ) can be used to set / reset array data. - Fields can be accessed and assigned simlar to TDatabase like oData:Salary := 2500 - All navigational methods similar to DBF and also RecordSet can be used (eg. gotop(), gobottom(), movefirst(), movelast(), etc ) - While it is desriable to initialize with multi-dim array conforming to the data structure provided, single dimentional and ragged arrays are converted as multidimentional arrays of the required number of columns initially by the class. - Datatypes not matching with the types in the aStrcture are converted suitably while accessing and assignment. - Expressions like "QUANTITY * PRICE" can be used. Eg: ? oData:FieldGet( "QUANTITY * PRICE" ) - Sorting: Method SetOrder( fieldname, nil, lDescend ) - SetOrder is possible only with single fieldname. - :SetOrder( 0 ) restores natural order. The same order at the time of creation of the object - oData:Sort := "SALARY DESC" also is possbile like a RecordSet. - Filtering: Method SetFilter( ) eg: oData:SetFilter( "QUANTITY > 2000 .AND. YEAR(INVDATE) == 2016" ) oData:SetFilter( "" ) clears filter. oData:Filter := "STATE == 'NY'" also is possible

Viewing all articles
Browse latest Browse all 26233

Trending Articles