Deixando aqui para quem tem acesso ao SVN add.
Arquivo na pasta \include\guilib.ch
Opção adicionada ON KEYDOWN no get da coluna.
ON KEYDOWN é CHECADO antes do VALID, pode mudar a ordem coloquei entre valid e when.
Código: Selecionar todos
#xcommand ADD COLUMN <block> TO <oBrw> ;
[ HEADER <cHeader> ] ;
[ TYPE <cType> ] ;
[ LENGTH <nLen> ] ;
[ DEC <nDec> ] ;
[ <lEdit: EDITABLE> ] ;
[ JUSTIFY HEAD <nJusHead> ];
[ JUSTIFY LINE <nJusLine> ];
[ PICTURE <cPict> ] ;
[ VALID <bValid> ] ;
[ ON KEYDOWN <bKeyDown> ] ;
[ WHEN <bWhen> ] ;
[ ITEMS <aItem> ] ;
[ COLORBLOCK <bClrBlck> ] ;
[ BHEADCLICK <bHeadClick> ] ;
=> ;
<oBrw>:AddColumn( HColumn():New( <cHeader>,<block>,<cType>,<nLen>,<nDec>,<.lEdit.>,;
<nJusHead>, <nJusLine>, <cPict>, <{bValid}>, <{bKeyDown}>, <{bWhen}>, <aItem>, <{bClrBlck}>, <{bHeadClick}> ) )
#xcommand INSERT COLUMN <block> TO <oBrw> ;
[ HEADER <cHeader> ] ;
[ TYPE <cType> ] ;
[ LENGTH <nLen> ] ;
[ DEC <nDec> ] ;
[ <lEdit: EDITABLE> ] ;
[ JUSTIFY HEAD <nJusHead> ];
[ JUSTIFY LINE <nJusLine> ];
[ PICTURE <cPict> ] ;
[ VALID <bValid> ] ;
[ ON KEYDOWN <bKeyDown> ] ;
[ WHEN <bWhen> ] ;
[ ITEMS <aItem> ] ;
[ BITMAP <oBmp> ] ;
[ COLORBLOCK <bClrBlck> ] ;
INTO <nPos> ;
=> ;
<oBrw>:InsColumn( HColumn():New( <cHeader>,<block>,<cType>,<nLen>,<nDec>,<.lEdit.>,;
<nJusHead>, <nJusLine>, <cPict>, <{bValid}>, <{bKeyDown}>, <{bWhen}>, <aItem>, <oBmp>, <{bClrBlck}> ),<nPos> )
Linha 87: bKeyDown
Código: Selecionar todos
DATA bValid, bKeyDown, bWhen // When and Valid and bKeyDown codeblocks for cell editing
Código: Selecionar todos
METHOD New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bKeyDown, bWhen, aItem, bColorBlock, bHeadClick )
Código: Selecionar todos
METHOD New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bKeyDown, bWhen, aItem, bColorBlock, bHeadClick ) CLASS HColumn
Código: Selecionar todos
::picture := cPict
::bValid := bValid
::bKeyDown := bKeyDown
::bWhen := bWhen
Código: Selecionar todos
IF type <> "M"
@ 0, 0 GET oGet VAR ::varbuf ;
SIZE nWidth, ::height + 1 ;
NOBORDER ;
STYLE ES_AUTOHSCROLL ;
FONT ::oFont ;
PICTURE oColumn:picture ;
ON KEYDOWN oColumn:bKeyDown ;
VALID oColumn:bValid
ELSE
No Linux não olhei ainda.
Saudações,
Itamar M. Lins Jr.
