Ya lo había intentado y no me funciona....
@ -1, 16 COLUMN BROWSE oBrw OF oWndEdit ;
FONT oFont ;
SIZE oWnd:nWidth(),oWnd:nHeight(); //Ancho y lago posilbe COLOR CLR_BLACK, 14481663;
ON CHANGE ( aMantStack[nLen, 4] := str(recno()), oMsgRecNo:SetText("Registro: "+ alltrim( str(recno())) + "/" + alltrim(str(lastrec())) ), oWndEdit:Update() )
//Añado columna si esta borrado el registro para eliminacion
ADD COLUMN TO BROWSE oBrw ;
HEADER "D." OEM ;
DATA iif(deleted(),'>>','');
NOBAR CENTER ;
COLORS CLR_WHITE , 9129488 ; //nRGB( 190, 215, 190 )
SIZE 15
//Añado una columna por cada campo de la base de datos
for nPos := 1 to Len(f_expd) // Array con NOMBRE DE CAMPOS
ADD COLUMN TO BROWSE oBrw; //
HEADER f_nomd[nPos] OEM ; // Array con TITULOS DE LAS COLUMNAS
DATA FieldWBlock( f_expd[nPos] , Select()) // Aca se genera el CodeBlock para el CAMPO
next
//Las dos lineas siguientes pone el color en las cabeceras de columnas
oBrw:nClrForeHead := CLR_WHITE//CLR_BLACK
oBrw:nClrBackHead := 9129488//CLR_HCYAN 16436871
//Las dos lineas siguientes pone el color a linea que estas explorando
oBrw:nClrForeFocus := CLR_BLACK //CLR_WHITE
oBrw:nClrBackFocus := CLR_YELLOW //CLR_CYAN
/*
//Coloco lineas de distintos colores
oBrw:nClrPane := { || IF((OrdKeyNo()) % 2 == 0,;
16777184 , 16119285 ) } // 14481663
// oBrw:nRowCount() //Esto nos da el numero de lineas que se muestran el el browse
// oBrw:bLDblClick = { | nRow, nCol | EditCell( oBrw, nRow, nCol ) }
// oBrw:lNoLiteBar := .t. // Hace desaparecer la barra cursor del browse
// oBrw:lNoGrayBar := .t. // Hace desparecer la barra gris cuando pierde el foco
oBrw:lMChange := .t. // set false to prevent Mouse colm resize/drag
oBrw:lLogicDrop := .t. // use crazy logic dropbox
oBrw:lNoHScroll := .t. // don't use that pesky horiz scroll bar
// oBrw:nAdjColumn := 3 // expand this column to flush table right
// oBrw:nFreeze := 3 // This will freeze all & prevent horiz scrolling
// NOTE can't resize/drag on frozen columns
*/
oBrw:bKeyChar = { | nKey | zoom() } //Aqui puedes realizar el proceso de accion por tecla MsgInfo( nKey ) &(x_fun[5]) SI REA
//UNA FUNCION PUEDES REALIZAR DISTINTAS COSAS DEPENDIENDO DE LA TECLA PULSADA
//oBrw:bLDblClick := { | nRow, nCol | EditCell( oBrw, nRow, nCol ) } //Para definir una accion cuando se pulse dobleclic
oBrw:bLDblClick := { | nRow, nCol | zoom() } //Con el dobleclic muestro el registro. &(x_fun[5])
oBrw:bRClicked := { | nRow, nCol | ShowPopup( nRow, nCol, oBrw ) }
oWndEdit:oClient := oBrw //Hago que el browse se adapte al espacio que le queda libre
//----------------------------------------------------------------------------//
// Sistema de SPLITTER. objeto oSpl //
//----------------------------------------------------------------------------//
@ 1, 124 SPLITTER oSpl ;
VERTICAL ;
PREVIOUS CONTROLS oOut ;
HINDS CONTROLS oBrw;
LEFT MARGIN 100;
RIGHT MARGIN 200 ;
SIZE 4, oWnd:nHeight() PIXEL ;
OF oWndEdit ;
_3DLOOK ;
UPDATE
oBrw:goTop()
oBrw:goBottom()
oBrw:SetFocus() //activo el browse