Usuário: Senha: Lembrar Senha  Esqueci a Senha!
Busca Geral:
Fivewin Brasil - Virtual Object

 

Home

 

Cadastre-se

 

Fórum

 

Grupo de Usuários

 

Chat

 

Dicas

 

Downloads

 

Artigos

 

Links

 

Faq

 

Suporte

Clique aqui para fazer o download da versão de Demonstracao do Fivewin. Para obter ajuda na instalação e uso, veja o tutorial que esta disponível em Artigos

 

N o t í c i a s

28/12/09 - Liberada a versão 9.12
  December 2009
=============

* Fix: Class TWBrowse Methods EditCol() and lEditCol(), the properties nWeight, lItalic, lUnderline
and lStrikeOut of the browse font are now respected.

* Improvement: Class TBtnBmp, the color of the prompt of disabled buttons can now be change.
Just set the new DATA lDisColor to .f. and nClrTextDis to the desired color.

* Fix: Class TFolder Method Destroy() ends its DATA oImageList if defined.

* Fix: Minor fix in Class TWBrowse Method LButtonDown()

* Fix: Class TFont Method cGenPrg(), 'SIZE' clause not correctly generated. Now fixed

* New: Function aGetFiles( cFileMask, cTitle, nDefaultMask, cInitDir ) --> aFiles, for selection of multiple files.
Please review FWHsourcewinapigetfiles.prg

* Fix: Class TReport method New(), didn't return Self on empty ::oDevice:hDC.

* Improvement: Class TBtnBmp: Improved alignment of prompts on button bar.

* Fix: Modified FWH sourcefunctionErrSysW.prg to avoid the calls to GetCPU() and GetCPUSpeed() when using
FWH 64 bits.

* Enhancement: Class TMGet method LimitText: Now number of characters to limit the length of text can be specified
as paramter to LimitText. oMGet:LimitText( nChars ) limits the length of text to nChars and oMGet:LimitText()
without parameters allows edit without any limit.

* Enhancement: CLASS TScrollBar METHOD SetPage( nSize, lReDraw ) has been reenabled and enhanced.

* New: documented functions RoundRect() and RoundBox() in FiveTech's wiki:

http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_roundrect
http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_roundbox
http://wiki.fivetechsoft.com/doku.php?id=fivewin_funcion_roundrect
http://wiki.fivetechsoft.com/doku.php?id=fivewin_funcion_roundbox

* New: functions CREATEELLIPTICRGN() and CREATEELLIPTICRGNINDIRECT(), added in a new module
FWHsourcewinapi egions.c Documented in FiveTech's wiki:

http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_createellipticrgn
http://wiki.fivetechsoft.com/doku.php?id=fivewin_function_createellipticrgnindirect

* New: Class TBtnBmp, Round buttons style implementation. Please review FWHsamplesTestBtn3.prg and
TestBtn4.prg

* Fix: Class TBtnBmp DATA hRgn (GDI object) was not released in Method Destroy(). Now it is ok.

* Improvement: Class TBtnBmp: If bitmaps for pressed, disabled and mouse hover states are not provided, appropriate
default bitmaps derived from the first bitmap are provided.

* Fix: Pasted texts in GETs properly respect the used GET's PICTURE. Bug reported By Enrico in the forums.

* Fix: Class TTrayIcon finally closes an open popup menu if clicking outside of it or if Esc is pressed !
Please review FWHsamplesTestTray.prg. It took a long time to solve this pending bug :-)

* New: FWHsamplesTestDscr_.prg and TestDscr_.rc shows how to implement a scrollable dialogbox from resources
with mouse wheel support too. Its a very nice and usefull example. Don't miss to review it. Thanks to Rossine and
Ramesh!

* Enhancement: FWHsamplesTestDscr.prg, added support for mouse wheel events.

* Fix: Some internal changes in RichEdit management functions that were failing due to recent changes
in Harbour extend API compatibility support for both Harbour and xHarbour.

* Enhancement: Added support for hb_storvnd() in sourcefunctionharbour.prg for xHarbour.

* Enhancement: toolhelp.c was not included in previous FWH builds by mistake. Now it is included again.

* Enhancement: Class TGif has been greatly enhanced supporting now much more different GIF internal formats.
Please review FWHsamplesTestGif.prg and TestGif2.prg

* Enhancement: Class TGet DATA lDisColors has been changed into a CLASSDATA, so now if one single instance of a TGet
modifies lDisColors, it affects all the application GETs. Many thanks to William!

* Enhancement: Class TXBrowse removed some not needed logical checkings, i.e.: "if lTransparent == .T.", where it
is enough to do "if lTransparent".

* Enhancement: FWHsamplesmallorca.prg enhanced to show pajama painting with arrays and Class TXBrowse.

* New: New Method EraseBkGnd() in Class TGroup. It properly implements the clause TRANSPARENT and also uses
its container bitmapped brush if defined, with the proper origin coordinates.


XBROWSE:
--------

NEW FEATURES:

1) Gradient painting of rows and cells:
By specifying a Gradient Array as the second color in bClrStd, bClrSel, bClrSelFocus, bClrRowFocus, instead of a
solid color, the rows/cells are painted with gradient.

Example:
aGrad := { { 1, RGB( 220, 235, 252 ), RGB( 193, 219, 252 ) } }
oBrw:bClrSelFocus := { || { CLR_BLACK, aGrad } }
This will paint the row/cell with aGrad as the gradient background.

Sample: fwhsamplesxbrowgrd.prg

2) Method BrwFitSize( lReSize (default .f. ) ) --> { nRequiredWidth, nRequiredHeight }

This method can be called during INIT of the container dialog/ window or at runtime, but not before the dialog
is initiated. If called without parameter:
Return values:

nRequiredWidth : Total width needs to be set for the browse to display all the columns. The result may even
exceed the width of the container window/dialog or even the screen width. Programmer should use this information
appropriately.

nRequiredHeight: Required height to show all the rows, if it is smaller than the height already set.

If called with parameter as .T.
The browse is actually resized to fit the columns and rows to the extent possible. Width is either reduced or
stretched ( but not exceeding the width of the container window ).
Height is reduced if lesser height is enough to show all rows.

If oBrw:nRightMargin is specified, oBrw:nLeft is adjusted or oBrw:nRight is adjusted.
If oBrw:nBottomMargin is specified, oBrw:nTop is adjusted or oBrw:nBottom is adjusted.
In this case the acutal new width and height are returned.

3) Group Headers:

Though this is an existing feature, the logic is replaced with totally revised logic and it is made extremely
easy for the programmer to specify the group headers and with some new features.

Multiline and bitmap support provided for group headers.

Calling the method oBrw:SetGroupHeader( cGroupHeader, [nFromCol], [nUptoCol], [oFont] ) is all that is required
to set a group heading.
If nFromCol and/or nUptoCol default to 1 and last column, if not specified.

XBrowse automtically computes the required header height to display group and column headers and decides the
ideal value for oBrw:nHeaderHeight. It is recommended not to set the header height manually in the program.

Alternatively groups can also be specified by assigning same group header to oCol:cGrpHdr. All consecutive
columns having the same :cGrpHdr are grouped under the same heading.

Other data relevant for GroupHeaders:
oCol:oGrpFont
oCol:nGrpBmpNo ( bitmap support for group headings )

Backward compatibility is retained for the documented syntax, but the programmers are advised to use the new
methods in future.
Following data are now Obsolete, but retained only for backward comapatibilty:
oBrw:nHeader
oBrw:aHeaderTop
oCol:nHeaderType

Sample: fwhsamples esthead.prg is revised to show the use of the new syntax.

Dynamic Grouping at Runtime: SetGroupHeader(...) method can be called even at runtime to create or change the
groupings. Right-Click on the browse in the above sample demonstrates this feature.

New Data: lAllowColReGroup is .f. by default. When this data is set to .f. and lAllColSwapping is true, columns
can be swapped but within same group and withing ungrouped columns. If lAllowColReGroup is set to .t. moving
columns at runtime changes the columns group to the new group.

IMPROVEMENS AND FIXES:

* Improvement: Where header has CRLFs, data nHeaderLines is automatically computed by the xbrowse. It is desirable
not to specify the data nHeaderLines manually, unless required for other reasons.

* Fix: Class TXBrowse Method SelFont(), new font is set to the browse and all columns correctly.

* Modification: Class TXBrowse Method MoveCol(). While user can not drag a column in to and out of freezed columns
area, programmer can move without restriction.

* Improvement: XBrowse, EDIT_LISTBOX now uses colors and font specified in oCol:bClrEdit and oCol:oEditFont

* Improvement: XBrowse: EDIT_LIST_BOX behavior is now consistent with EDIT_GETs. In fastedit mode, key pressed to
invoke edit is passed on as the initial key to the listbox control and after edit cursor moves to the next editable
column.

* Fix: TXBrowse Method SetRDD. bSeek codeblock automatically generated raises runtime error when the workarea is not
indexed. Now fixed.

* Improvement: Class TXBrowse: New DATA lKineticBrw ( default .t. ). While CLASSDATA lKinetic can be set to enable
or disable Kinetic browse globally,

lKineticBrw can be set to enable or disable Kineti browse for the specific browse overriding the global setting.

* Improvement: Class TXBrowse: Method PageDown. When bottom of the table is reached by pressing pagedown key the
data is fully painted in the browse, in conformity with the painting on Refresh

* Fix: Class TXBrowse Method EraseData: When oBrw:lTransparent is .t. and no background is specified blank rows are
painted with browse colors instead of parent window/dialog brush. Fixed.

* New: Xbrowse.ch. New constant DATAYPE_USER. If user defines xbrowse for any data source not one of the pre-defined
datatypes, oBrw:nDataType should be specified as DATATYPE_USER.

* Fix: Class TXBrowse Method Initiate: Initiate method was resetting the colors already set by user. Now fixed.

* Improved: Class TXBrowse Method ColStretch: Improved columns stretching method. Also fixed runtime error in some
cases.

* New: samplesxbrwin7.prg shows how to use Windows 7 selected row colors in xbrowse.

* New: Class TXBrwColumn SETGET method nWidthChr. Width of column in number of characters. Used to provide
appropriate size of columns to Report method.

* Improved: Class TXBrowse: When column width is narrower to display full character value, the value is shown in
multiple lines if the user increases the row height even if nDatalines is not assigned with higher number.

* Improvement: Class TXBrowse Methods ToExcel() and ToCalc(). While exporting decimal numbers, the number of
decimal places was set to 2 irrespective of the number of decimal places in the picture format of the column.
Now the exported numeric values are formatted with the actual number of decimal places in the column's picture
format.

* XBrowse: Improvement in Array Sort: XBrowse handles browing arrays containing different datatypes in the same
column and varying array lengths in different rows.

- The array sort algorithms were limited to handle only arrays containing same datatypes in the same column.
Now array sort handles different datatypes in the same column as well as rows with varying lengths.

- Sorting of character values were case sensitive. Now new DATA oCol:lCaseSenstive ( default .f. ) is used
by the array sort. When this data is false, the sort is case insensitive, that is more useful in many cases
and if the data is set to .t., the sort is case sensitive.

* XBrowse: Improvement in Incremental Seek on Array browse: Incremental seek on array browse was limited to
arrays with rows containing same datatypes in the same column. Arrays with different datatypes in the same
column or having different array lengths in different rows would result in runtime errors.
- Now incremental seek functionality is extended to work on all kinds of arrays.
- Incremental seek honors the oCol:lCaseSensitive setting.
- WildSeek functionality is not extended to Arrays also. If oBrw:lSeekWild is set to .t. ( default .f. ),
Wildseek is performed.

* function XBrowse() and command XBROWSER: oSeek and WildSeek controls were not displayed even when autosort was
specified unless bselect also was specified. Now oSeek and wildseek controls are displayed if autosort is
specified even if bselect is not specified.

* Function XBrowse() moved to independant module fwhsourcefunctionxbrowser.prg. This enables implementation of
programmers own version of xbrowse() function without altering the main xbrowse.prg and still taking benefit
of XBROWSER command.

* Improvement: function XBrowse(), Command XBROWSER: Programmer can now specify the code to be executed by assigning
codeblock to oBrw:oWnd:bInit and/or oBrw:bInit, while executing the bSetUp code block. If specified, these
codeblocks oBrw:oWnd:bInit is executed with oDlg as parameter and oBrw:bInit is executed with oBrw as parameter
during executing of the xbrowsers own init routine. This feature allows the programmer to excercise more control
on the browse and dialog setup, which were not possible earlier.

* function XBrowse(): Modified to use oBrw:BrwFitSize() method.

Voltar

F o r u m
Ver tópicos das últimas 24 hrs
08/09 19:33 - Recuperação de sistema
08/09 19:01 - Iniciando com sql.
08/09 14:52 - Fundo cinza na printer
08/09 14:31 - Sistema para petshop
08/09 11:28 - Pograma mult-empresas com código fonte
08/09 11:05 - Para vailton - comandos sql no sqllib
07/09 23:30 - Msgrun com barra de progresso infinita
07/09 13:57 - Oftp:downloadfile (resolvido, mais um probleminha)
07/09 13:21 - Duvida impressao kits em nf-e
07/09 09:28 - Tsbrowse
06/09 22:19 - Conexao de area de trabalho remoto
06/09 17:08 - Exemplo da classe tbrowse. alguem tem? (resolvido)
E n q u e t e
Você vai VI encontro FiveWin 208
Vou, com certeza!
Tenho interesse.
Infelizmente, não irei.
 
Virtual Object Informática Ltda.  Fone/Fax: (15)3231-6840