FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 02:49 AM
Hola amigos del Foro. Para aquellos que gusten de usar sombreados (cualquier color) los Titulos de columnas en oReport, aquí les dejo este pequeño aporte.

CLASS TReport

Code (fw): Select all Collapse
   DATA lColTitleShadow, nColTitleClrShadow, oColTitleShdBrush    //FranciscoA 26/06/2012
   METHOD ShadowColTitle( nHeight )  //FranciscoA 26/06/2012


En METHOD NEW()
Code (fw): Select all Collapse
   ::lColTitleShadow := .f.   //FranciscoA 26/06/2012
   ::nColTitleClrShadow   := 15657706  //FranciscoA 26/06/2012


EN METHOD END()
//Despues de estas lineas que aparecen dos veces.
if ::oShdBrush != nil
::oShdBrush:end()
endif
Code (fw): Select all Collapse
      if ::oColTitleShdBrush != nil   //FranciscoA 26/06/2012
         ::oColTitleShdBrush:End() 
      endif


EN METHOD COLTITLE()
//Despues de esta linea...
::nRow := ::nTitleRow
Code (fw): Select all Collapse
   ::ShadowColTitle( ::nStdLineHeight * ::nMaxTitle )  //FranciscoA 26/06/2012


Despues del Method ColTitle() //Basado en el Method Shadow de esta misma classe)
Code (fw): Select all Collapse
//-----------------------------------------//FranciscoA 26/06/2012
METHOD ShadowColTitle( nHeight ) CLASS TReport
   local nHeightAdjust 
   local nFor, nCols, nGrid

   if ! ::lColTitleShadow
      return nil
   endif

   nCols := Len( ::aColumns )

   if ::oColTitleShdBrush == nil
      DEFINE BRUSH ::oColTitleShdBrush COLOR ::nColTitleClrShadow
   endif

   for nfor := 1 to nCols

         if ::aColumns[ nFor ]:lGrid
            nGrid := ::aPen[ ::aColumns[ nFor ]:nPen ]:nWidth * 2
         else
            nGrid := 0
         endif

         nHeightAdjust := Int( ::oPenHorz:nWidth*5) 

         SetbkMode( ::oDevice:hDCOut, 1 )

        ::oDevice:FillRect( { ::nRow + nHeightAdjust,;
                              ::aCols[ nFor ] - nGrid,;
                              ::nRow + nHeight + nHeightAdjust*3 ,;
                              ::aCols[ nFor ] + ::aColumns[ nFor ]:nWidth + nGrid },;
                              ::oColTitleShdBrush )

   next

return nil


Espero les sea de alguna utilidad.

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 02:51 AM
Se me olvidaba. Su uso es:

Code (fw): Select all Collapse
        oReport:lColTitleShadow := .t.
        oReport:nColTitleClrShadow := 12513020


ACTIVATE REPORT oReport WHILE !oList:Eof()

Si se usa  oReport:lColTitleShadow := .t., pero se omite el color, toma por defecto un color plomo leve.
Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 03:14 AM

Francisco,

Podrías colocar una imagen????

Gracias

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 04:08 AM
Bayron, aquí están.


Uploaded with ImageShack.us

Saludos
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 01:39 PM

Muy buen trabajo, se ve estupendo...
Siempre me ha gustado la vistosidad...

Gracias por compartir tu aporte...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Jun 27, 2012 05:47 PM

Francisco, muchas gracias por compartirlo. Le da un toque de vistosidad.

Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Wed Feb 11, 2015 01:40 PM

Estimados:

esto se puede aplicar a los totales de un grupo o al total final???

gracias

SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Thu Feb 12, 2015 12:13 PM
Holas,

prueba esto que hice varios años atras, no recuerdo la versión de FW. El ejemplo tiene un generador de código para que hagas copy/paste a tu proyecto con la configuracion del report

https://app.box.com/s/d2d9ehduq9x4c6clr1jrw56szm4shmdq

Ojala algún momento se lo pueda mejorar, limpiar e incorporar en el oficial de FW asi como se hizo con el preview ( prueben navegar oprimiendo el boton derecho sobre el preview)

Saludos

Marcelo
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Thu Feb 12, 2015 01:26 PM

gracias

lo probare...

SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Thu Feb 12, 2015 02:23 PM
Code (fw): Select all Collapse
   IF !oReport:lCreated
      RETURN NIL
   ELSE
      oReport:SetTxtColor(CLR_HBLUE,1)
      oReport:SetTxtColor(CLR_HRED, 2)
      oReport:SetTxtColor(CLR_HBLUE,3)
      oReport:SetPenColor(CLR_HBLUE  )
      oReport:SetShdColor(CLR_HCYAN  )
   ENDIF


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Mon Mar 20, 2023 01:58 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Mon Mar 20, 2023 06:48 PM
Saludos João. No es ninguna molestia.

//TITLE DEL REPORT EN COLOR
//Francisco J. Alegria P.
//FW1204 - CLASS TREPORT modificada
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "report.ch"


function Main()

   local oRep, oFont
   local nLine := 0

   USE CUSTOMER NEW SHARED
   GO TOP

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12

   REPORT oRep PREVIEW FONT oFont

   COLUMN TITLE "LINE"   DATA nLine          FONT 1
   COLUMN TITLE "NAME"   DATA FIELD->FIRST   FONT 1
   COLUMN TITLE "CITY"   DATA FIELD->CITY    FONT 1
   COLUMN TITLE "SALARY" DATA FIELD->SALARY  FONT 1

   ENDREPORT

   oRep:bInit        := { || nLine := 0 }
   oRep:bStartRecord := { || nLine++ }

   oRep:lColTitleShadow := .t.
   oRep:nColTitleClrShadow := 12513020

   ACTIVATE REPORT oRep  //FOR RECNO() % 5 == 0

   RELEASE FONT oFont
   CLOSE CUSTOMER

return nil
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Mon Mar 20, 2023 07:14 PM
FranciscoA wrote:Saludos João. No es ninguna molestia.

//TITLE DEL REPORT EN COLOR
//Francisco J. Alegria P.
//FW1204 - CLASS TREPORT modificada
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "report.ch"


function Main()

   local oRep, oFont
   local nLine := 0

   USE CUSTOMER NEW SHARED
   GO TOP

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12

   REPORT oRep PREVIEW FONT oFont

   COLUMN TITLE "LINE"   DATA nLine          FONT 1
   COLUMN TITLE "NAME"   DATA FIELD->FIRST   FONT 1
   COLUMN TITLE "CITY"   DATA FIELD->CITY    FONT 1
   COLUMN TITLE "SALARY" DATA FIELD->SALARY  FONT 1

   ENDREPORT

   oRep:bInit        := { || nLine := 0 }
   oRep:bStartRecord := { || nLine++ }

   oRep:lColTitleShadow := .t.
   oRep:nColTitleClrShadow := 12513020

   ACTIVATE REPORT oRep  //FOR RECNO() % 5 == 0

   RELEASE FONT oFont
   CLOSE CUSTOMER

return nil
Gracias mi amado Maestro. Como hago con el efecto PIJAMA(zebrado)?

Gracias.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Mon Mar 20, 2023 10:09 PM
Jao, prueba asi para efecto pijama:
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "report.ch"


function Main()

   local oRep, oFont
   local nLine := 0

   USE CUSTOMER NEW SHARED
   GO TOP

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12

   REPORT oRep PREVIEW FONT oFont

   COLUMN TITLE "LINE"   DATA nLine          FONT 1 SHADOW
   COLUMN TITLE "NAME"   DATA FIELD->FIRST   FONT 1 SHADOW
   COLUMN TITLE "CITY"   DATA FIELD->CITY    FONT 1 SHADOW
   COLUMN TITLE "SALARY" DATA FIELD->SALARY  FONT 1 SHADOW

   ENDREPORT

   oRep:bInit        := { || nLine := 0 }
   oRep:bStartRecord := { || nLine++ }

   oRep:lColTitleShadow := .t.
   oRep:nColTitleClrShadow := 12513020

   oRep:oShdBrush := TBrush():New(,nRgb(219,229,241))
   oRep:bSkip := {|| (DBSKIP(),IF(RECNO() % 2 =0 , oRep:lShadow :=.f.,oRep:lShadow :=.t.))}

   ACTIVATE REPORT oRep  //FOR RECNO() % 5 == 0

   RELEASE FONT oFont
   CLOSE CUSTOMER

return nil
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: SHADOW EN TIT DE COLS - PEQUEÑO APORTE
Posted: Tue Mar 21, 2023 01:47 PM
Pronto César. Simplesmente perfecto. REPORT.PRG modificada.

Download completo para testes:

https://mega.nz/file/IctHxYpa#z8WfpbD9x-uRZgy8qk4-dbmPxZKXTAb8R7y9LE0vD-s

Muchas gracias César y FranciscoA.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341