No encuentro las mejoras hechas a xbrowse por franciscoA ??

gabo
Posts: 128
Joined: Tue Jan 03, 2006 8:31 pm

No encuentro las mejoras hechas a xbrowse por franciscoA ??

Post by gabo »

Hola pues he estado buscando las mejores hechas a xBrowse por FranciscoA si no mal recuerdo.. en la cual se pueden poner diferentes BtnGet en cada columna de xbrowse.. y no he podidos encontrarlas alguien me puede ayudar con el Link.. gracias!!
Saludos
GABO
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Post by Daniel Garcia-Gil »

yo recientemente hice unos cambios con respecto a las imagenes del btnget del xbrowse, no se si te refieres a esto, revisa el link...
http://forums.fivetechsoft.com/viewtopic.php?p=65732
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

mcfox wrote:yo recientemente hice unos cambios con respecto a las imagenes del btnget del xbrowse, no se si te refieres a esto, revisa el link...
http://forums.fivetechsoft.com/viewtopic.php?p=65732

MCFOX,
por casualidad no tendras un ejemplito con xbrowse al estilo FACTURACION,? es decir que vaya de columna en columna y al llegar a la ultima salta a la siguiente linea, obviamente que debo hacer los valid de cada columnas, en casi todas usare GET con BOTON para llamar a otro browse como listado o alguna funcion para crear sino hubiese un producto, alguna ayudita no estaria mal...aun no le doy con esta parte...Gracias.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Post by Daniel Garcia-Gil »

Jose:
Realmene no lo tengo pero con la opcion FASTEDIT de la xbrowse, va directo a la siguiente celda disponible para editar, sea en la columna siguiente o si es la ultima columna va directo a la 1ra columna de la siguiente fila.
hay un ejemplo que publico antonio que te agrega registros en una dbf vacia.
http://forums.fivetechsoft.com/viewtopic.php?t=12833

puedes agregar registros de forma diferente usando:
xBrw:bPastEof bPastEof // block to evaluate if trying to go down after the last row
espero te sirva de ayuda
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

mcfox wrote:Jose:
Realmene no lo tengo pero con la opcion FASTEDIT de la xbrowse, va directo a la siguiente celda disponible para editar, sea en la columna siguiente o si es la ultima columna va directo a la 1ra columna de la siguiente fila.
hay un ejemplo que publico antonio que te agrega registros en una dbf vacia.
http://forums.fivetechsoft.com/viewtopic.php?t=12833

puedes agregar registros de forma diferente usando:
xBrw:bPastEof bPastEof // block to evaluate if trying to go down after the last row
espero te sirva de ayuda

Gracias colega, reviso y aviso, estamos a la orden por Guatire - Caracas - Venezuela
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: No encuentro las mejoras hechas a xbrowse por franciscoA

Post by FranciscoA »

gabo wrote:Hola pues he estado buscando las mejores hechas a xBrowse por FranciscoA si no mal recuerdo.. en la cual se pueden poner diferentes BtnGet en cada columna de xbrowse.. y no he podidos encontrarlas alguien me puede ayudar con el Link.. gracias!!
Saludos
GABO


Gabo:
Las modificaciones efectuadas por mi fueron sobre como cambiar el color del estilo 2007 al color que desees en las clasees ButtonBar, MsgBar, ButnBmp, buttonb y txbrowse, usando degradados. Si te interesan, dame tu email y te las envío.

Fueron efectuadas en la version FWH 7.12

Saludos
FranciscoA
gabo
Posts: 128
Joined: Tue Jan 03, 2006 8:31 pm

Post by gabo »

efectivamente eso es precisamente lo que buscaba.. gracias!!! a todos por la ayuda
GABO
gabo
Posts: 128
Joined: Tue Jan 03, 2006 8:31 pm

Post by gabo »

FranciscoA

gornelas@prodigy.net.mx

Gracias!!
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Post by FranciscoA »

gabo wrote:FranciscoA

gornelas@prodigy.net.mx

Gracias!!


Gabo, revisa tu correo.
Saludos.
FranciscoA
User avatar
reinaldocrespo
Posts: 979
Joined: Thu Nov 17, 2005 5:49 pm
Location: Fort Lauderdale, FL

Post by reinaldocrespo »

Por favor enviamela tambien. Gracias.

reinaldo.crespo@gmail.com
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

Me sumo a la peticion, estoy empeznado con xBrowse y necesito todo lo posible...
joseluisysturiz@yahoo.com
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
Antonio Linares
Site Admin
Posts: 42520
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 75 times
Contact:

Post by Antonio Linares »

Francisco,

Por favor publica los cambios que has hecho aqui para que los pueda usar quien quiera. Pero por favor no publiques todo el código fuente de esas clases, sólo los cambios. Gracias,
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Post by FranciscoA »

Antonio Linares wrote:Francisco,

Por favor publica los cambios que has hecho aqui para que los pueda usar quien quiera. Pero por favor no publiques todo el código fuente de esas clases, sólo los cambios. Gracias,



[/img]ImageImage


Para personalizar colores en Barra de Botones: (FWH 7.12)

CLASS TBar FROM TControl

DATA nGroups, nMode
DATA nBtnWidth, nBtnHeight
DATA l3D, l2007
DATA nRGB1, nRGB2 //FranciscoA: Agosto 31/2008

CLASSDATA lRegistered AS LOGICAL

/*
METHOD New( oWnd, nBtnWidth, nBtnHeight, l3D, cMode, oCursor, l2007 ) CONSTRUCTOR

METHOD NewAt( nRow, nCol, nWidth, nHeight, nBtnWidth, nBtnHeight, oWnd,;
l3D, cMode, oCursor ) CONSTRUCTOR
*/

//FranciscoA: Agosto 31/2008
METHOD New( oWnd, nBtnWidth, nBtnHeight, l3D, cMode, oCursor, l2007, nRGB1, nRGB2) CONSTRUCTOR
METHOD NewAt( nRow, nCol, nWidth, nHeight, nBtnWidth, nBtnHeight, oWnd,;
l3D, cMode, oCursor, nRGB1, nRGB2 ) CONSTRUCTOR

//-------------------------------------------------------------------------
//METHOD New( oWnd, nBtnWidth, nBtnHeight, l3D, cMode, oCursor, l2007 ) CLASS TBar

//FranciscoA: Agosto 31/2008
METHOD New( oWnd, nBtnWidth, nBtnHeight, l3D, cMode, oCursor, l2007, nRGB1, nRGB2) CLASS TBar

local oRect := oWnd:GetCliRect()

/*
DEFAULT nBtnWidth := BAR_HEIGHT, nBtnHeight := BAR_HEIGHT,;
l3D := .f., cMode := "TOP", l2007 := .F.
*/

//FranciscoA: Agosto 31/2008
DEFAULT nBtnWidth := BAR_HEIGHT, nBtnHeight := BAR_HEIGHT,;
l3D := .f., cMode := "TOP", l2007 := .F., nRGB1:=NIL, nRGB2:=NIL


::nStyle = nOR( WS_BORDER, WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN )
::aControls = {}
::nGroups = 0
::oWnd = oWnd
::nTop = If( cMode == "BOTTOM", oRect:nBottom - nBtnHeight, -1 )
::nLeft = If( cMode == "RIGHT", oRect:nRight - nBtnWidth - ;
If( l3D, 3, 0 ), -1 )
::nBottom = If( cMode == "TOP", nBtnHeight, oRect:nBottom + 1 )
::nRight = If( cMode == "TOP" .or. cMode == "BOTTOM",;
oRect:nRight,;
If( cMode == "LEFT", nBtnWidth + If( l3D, 3, 0 ), oRect:nRight + 1 ) )
::nBtnWidth = nBtnWidth
::nBtnHeight = nBtnHeight
::nId = ::GetNewId()
::lDrag = .f.
::lCaptured = .f.
::nClrPane = If( l3D, GetSysColor( COLOR_BTNFACE ), CLR_GRAY )
::lVisible = .t.
::l3D = l3D
::nMode = AScan( { "TOP", "LEFT", "RIGHT", "BOTTOM", "FLOAT" }, cMode )
::oCursor = oCursor
::lValidating = .f.
::l2007 = l2007

//FranciscoA: Agosto 31/2008
::nRGB1 = nRGB1
::nRGB2 = nRGB2



//----------------------------------------------------------------------------//
//METHOD NewAt( nRow, nCol, nWidth, nHeight, nBtnWidth, nBtnHeight, oWnd, l3D,;
// cMode, oCursor ) CLASS TBar

//FranciscoA: Agosto 31/2008
METHOD NewAt( nRow, nCol, nWidth, nHeight, nBtnWidth, nBtnHeight, oWnd,;
l3D, cMode, oCursor, nRGB1, nRGB2 ) CLASS TBar

local oRect := oWnd:GetCliRect()
/*
DEFAULT nBtnWidth := BAR_HEIGHT, nBtnHeight := BAR_HEIGHT,;
nHeight := BAR_HEIGHT,;
l3D := .f., cMode := "TOP"
*/

//FranciscoA: Agosto 31/2008
DEFAULT nBtnWidth := BAR_HEIGHT, nBtnHeight := BAR_HEIGHT,;
nHeight := BAR_HEIGHT,;
l3D := .f., cMode := "TOP", nRGB1:=NIL, nRGB2:=NIL

::nStyle = nOR( WS_BORDER, WS_CHILD, WS_VISIBLE, WS_CLIPCHILDREN )
::aControls = {}
::nGroups = 0
::oWnd = oWnd
::nTop = nRow
::nLeft = nCol
::nBottom = nRow + nHeight - 1
::nRight = nCol + nWidth - 1
::nBtnWidth = nBtnWidth
::nBtnHeight = nBtnHeight
::nId = ::GetNewId()
::lDrag = .f.
::lCaptured = .f.
::nClrPane = If( l3D, GetSysColor( COLOR_BTNFACE ), CLR_GRAY )
::lVisible = .t.
::l3D = l3D
::nMode = AScan( { "TOP", "LEFT", "RIGHT", "BOTTOM", "FLOAT" }, cMode )
::oCursor = oCursor
::lValidating = .f.
::l2007 = .t. //.f. //FranciscoA

//FranciscoA: Agosto 31/2008
::nRGB1 = nRGB1
::nRGB2 = nRGB2



//----------------------------------------------------------------------------//
METHOD Paint() CLASS TBar

local hOldPen, n := 1
local hDarkPen, hLightPen
local oCtrl
local aInfo := ::DispBegin()

/*
if ::l2007
Gradient( ::hDC, { 0, 0, ::nHeight / 4, ::nWidth },;
nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ), .T. )
Gradient( ::hDC, { ( ::nHeight / 4 ) + 1, 0, ::nHeight, ::nWidth },;
nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ), .T. )
*/

//FranciscoA: Agosto 31/2008
//l2007 indica degradar. Si no se indican colores personalizados, por defecto toma el celeste de estilo office 2007
if ::l2007
if ::nRGB1 == NIL .or. ::nRGB2 == NIL //si no escogimos los colores ...
Gradient( ::hDC, { 0, 0, ::nHeight / 4, ::nWidth },;
nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ), .T. )
Gradient( ::hDC, { ( ::nHeight / 4 ) + 1, 0, ::nHeight, ::nWidth },;
nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ), .T. )

else //colores personalizados
Gradient( ::hDC, { 0, 0, ::nHeight, ::nWidth },;
::nRGB1, ::nRGB2, .T. )
endif


//00000000000000000000000000000000000000000000000000000000000


Para los colores de la Barra de Mensages:

//-------------------COLOR BARRA DE MENSAJES (Esta funcion es llamada desde la classe TMsgBar() )
Function ClrMsgBar()
Return {nRGB(255,228,150),nRGB(167,128,0)}

//------------------------------------------------------------------------//

METHOD Paint() CLASS TMsgBar

local aInfo := ::DispBegin()
local aColors :=ClrMsgBar()

/*
local hDCMem, hOldBmp

static hBmp

if hBmp == nil .and. ::l2007
hBmp = MsgBar2007( ::hDC )
endif
*/

if ::l2007

* Gradient( ::hDC, { 0, 0, ::nHeight / 4, ::nWidth },;
* nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ), .T. )
* Gradient( ::hDC, { ( ::nHeight / 4 ) + 1, 0, ::nHeight, ::nWidth },;
* nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ), .T. )

Gradient( ::hDC, { 0, 0, ::nHeight, ::nWidth },;
aColors[1],aColors[2], .T. ) // nRGB(255,228,100),nRGB(167,128,0), .T. )


/*
hDCMem = CreateCompatibleDC( ::hDC )
hOldBmp = SelectObject( hDCMem, hBmp )
StretchBlt( ::hDC, 0, 0, ::nWidth, ::nHeight, hDCMem, 0, 0, nBmpWidth( hBmp ), nBmpHeight( hBmp ), SRCCOPY )
SelectObject( hDCMem, hOldBmp )
DeleteDC( hDCMem )
*/
::Say( ::nHeight / 4 - 2,;
If( ::lCentered, ( ::nWidth / 2 ) - ( GetTextWidth( ::hDC,;
If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
::oWnd:oFont:hFont ) / 2 ), 4 ), If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
::nClrText,,, .T., .T. )
#ifdef __CLIPPER__
ASend( ::aItem, "Paint" )
#else
ASend( ::aItem, "Paint()" )
#endif
if ::bPainted != nil
Eval( ::bPainted, ::hDC )
endif
::DispEnd( aInfo )
return nil
endif

FillRect( ::hDC, GetClientRect( ::hWnd ), ::oBrush:hBrush )

MsgPaint( ::hWnd, ::cMsg, ::cMsgDef, .t.,;
::lCentered, If( Len( ::aItem ) > 0, ::aItem[ 1 ]:nLeft(), 0 ),;
::nClrText, ::nClrPane, ::oFont:hFont,;
::lInset, ::hDC )

#ifdef __CLIPPER__
ASend( ::aItem, "Paint" )
#else
ASend( ::aItem, "Paint()" )
#endif

MsgPaint3L( ::hWnd, ::nClrPane, ::hDC )

::DispEnd( aInfo )

return nil




//---------
Espero les sea de alguna utilidad.
Saludos.

Francisco J. Alegría P.
Chinandega, Nicaragua.[/img]
Last edited by FranciscoA on Sun Oct 19, 2008 3:14 pm, edited 1 time in total.
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Post by FranciscoA »

FranciscoA wrote:
Antonio Linares wrote:Francisco,

Por favor publica los cambios que has hecho aqui para que los pueda usar quien quiera. Pero por favor no publiques todo el código fuente de esas clases, sólo los cambios. Gracias,



[/img]ImageImage




PERSONALIZAR COLORES DEL HEADER Y FOOTER DE TXBROWSE
//----------------------------------------------------------------------------//

METHOD PaintHeader( nRow, nCol, nHeight, lInvert, hDC ) CLASS TXBrwColumn

local hBrush
...
...
local aClrHeader //FranciscoA, Sept/14/2008
...
...

** nBottom = nRow + ( nHeight / 3 )
nBottom = nRow + nHeight //FranciscoA Sept/14/2008
if ::oBrw:l2007
aClrHeader := ClrHeader() //FranciscoA, Sept/14/2008
IF aClrHeader[1] == NIL .or. aClrHeader[2] == NIL //si no escogimos los colores ...
if ! lInvert
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth + 2 },;
nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ), .T. )
Gradient( hDC, { nBottom + 1, nCol, nRow + nHeight - 1, nCol + nWidth },;
nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ), .T. )
else
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth },;
nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ), .T. )
Gradient( hDC, { nBottom + 1, nCol, nRow + nHeight - 1, nCol + nWidth },;
nRGB( 255, 215, 84 ), nRGB( 255, 233, 162 ), .T. )
endif
ELSE //colores personalizados //FranciscoA, Sept/14/2008
if ! lInvert
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth + 2 },;
aClrHeader[1], aClrHeader[2], .T. )
else
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth + 2 },;
aClrHeader[2], aClrHeader[1], .T. )
endif
ENDIF
else
hBrush := CreateSolidBrush( aColors[ 2 ] )
FillRect( hDC, { nRow, nCol, nRow + nHeight, nCol + nWidth }, hBrush )
DeleteObject( hBrush )
endif


//----------------------------------------------------------------------------//

METHOD PaintFooter( nRow, nCol, nHeight, lInvert ) CLASS TXBrwColumn

local hDC, hBrush
local oFont
local aColors, aBitmap
local cFooter
local nWidth, nBmpRow, nBmpCol, nBmpNo, nBottom

local aClrFooter //FranciscoA
...
...
...
...

**nBottom = nRow + ( nHeight / 3 )
nBottom = nRow + nHeight //FranciscoA Sept/14/2008
if ::oBrw:l2007
aClrFooter := ClrFooter() //FranciscoA, Sept/14/2008
IF aClrFooter[1] == NIL .or. aClrFooter[2] == NIL //si no escogimos los colores ...
if ! lInvert
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth + 2 },;
nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ), .T. )
Gradient( hDC, { nBottom + 1, nCol, nRow + nHeight - 1, nCol + nWidth },;
nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ), .T. )
else
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth },;
nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ), .T. )
Gradient( hDC, { nBottom + 1, nCol, nRow + nHeight - 1, nCol + nWidth },;
nRGB( 255, 215, 84 ), nRGB( 255, 233, 162 ), .T. )
endif
ELSE //colores personalizados //FranciscoA, Sept/14/2008
Gradient( hDC, { nRow - 1, nCol, nBottom, nCol + nWidth + 2 },;
aClrFooter[1], aClrFooter[2], .T. )
ENDIF
else
hBrush := CreateSolidBrush( aColors[ 2 ] )
FillRect( hDC, {nRow, nCol, nRow + nHeight, nCol + nWidth}, hBrush )
DeleteObject( hBrush )
endif


Usar estas funciones o agregar una DATA
//---------------------------------------------------
Function ClrHeader()
Return { nRGB(255,248,220), nRGB(157, 138,0) } //VERDECITO

//-------------------COLOR FOOTER DEL TXBROWSE
Function ClrFooter()
Return { nRGB(255,248,220), nRGB(157, 138,0) } //VERDECITO



//---------
Espero les sea de alguna utilidad.
Saludos.

Francisco J. Alegría P.
Chinandega, Nicaragua.[/img]
Post Reply