Imprimir texto con brush (SOLUCIONADO)

Imprimir texto con brush (SOLUCIONADO)

Postby hmpaquito » Mon Oct 10, 2016 11:48 am

Buenas a todos y todas,

Trato de poner un color de relleno/fondo/ brush, sin éxito, a los textos que imprimo.

Para ello hago algo asi:
Code: Select all  Expand view
oBrush:TBrush():New(,CLR_RED)
hBrush:= SelectObject(::oPrinter:hdcOut, oBrush:hWnd)
nBkMode:= 2  // Opaque
::oPrinter:CmSay( nRow, nCol, cText, oFont,nWidth, nClrText, nBkMode, nPad )
SelectObject(::oPrinter:hdcOut, hBrush)
oBrush:End()



¿ Permite la clase printer imprimir textos con brush ? ¿ Hay que usar/ funcionara con la funcion API ExtTextOut() ?

Saludos
Last edited by hmpaquito on Mon Oct 10, 2016 6:03 pm, edited 1 time in total.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Imprimir texto con brush

Postby Armando » Mon Oct 10, 2016 3:32 pm

hmpaquito:

Se que pides apoyo para la clase TPrinter y el ejemplo que te muestro
es para la clase Treport, pero tal vez te de una idea de como hacerlo
para la TPrinter.


Code: Select all  Expand view

        oReporte:bStartLine := {|o|IF((oReporte:nCounter % 2 == 0),SHADOWROW(o),)}  // Para lograr el efecto pijama
 



Code: Select all  Expand view

FUNCTION ShadowRow(oRep)
    LOCAL nCols := LEN(oRep:aCols)
    LOCAL nLine := IF(EMPTY(oRep:nDataLine),1,oRep:nDataLine)

    IF oRep:oShdBrush == NIL
        DEFINE BRUSH oRep:oShdBrush COLOR oRep:nClrShadow
    ENDIF

    SetBkMode(oRep:oDevice:hDCOut,1)

    oRep:oDevice:FillRect( {oRep:nRow + 1,;
                                    oRep:aCols[1],;
                                    oRep:nRow + 1 + oRep:aDataHeight[nLine],;
                                    oRep:aCols[nCols] + oRep:aColumns[nCols]:nWidth},;
                                    oRep:oShdBrush)
RETURN (NIL)
 


Saludos.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Imprimir texto con brush

Postby karinha » Mon Oct 10, 2016 5:35 pm

Asi, no te sirve?

Code: Select all  Expand view

LOCAL oPrn

PRINT oPrn PREVIEW MODAL
    PAGE
        oPrn:SayImage( 0, 0, oImg, oPrn:nHorzRes(), oPrn:nVertRes() )
    ENDPAGE
ENDPRINT
 


ó

Code: Select all  Expand view

   SayBitmap( nRow, nCol, xBitmap, nWidth, nHeight, nRaster )
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Imprimir texto con brush

Postby hmpaquito » Mon Oct 10, 2016 5:43 pm

Gracias Armando, gracias karinha, pero...

Quizá mi cuestión no está bien delimitada.
La cuestión sería ¿ Imprime oPrinter:CmSay() el brush que se tiene seleccionado con SelectObject() ?

A ver si así me he explicado mejor.

Saludos.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Imprimir texto con brush (SOLUCIONADO)

Postby hmpaquito » Mon Oct 10, 2016 6:03 pm

Resuelto: Utilizando la funcion SetBkColor() se resolvió.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Imprimir texto con brush (SOLUCIONADO)

Postby karinha » Mon Oct 10, 2016 7:47 pm

hmpaquito wrote:Resuelto: Utilizando la funcion SetBkColor() se resolvió.


Como en el ejemplo: GENREP.PRG?

Gracias, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Imprimir texto con brush (SOLUCIONADO)

Postby hmpaquito » Mon Oct 10, 2016 8:05 pm

Veo que Armando también me lo pasó en su ejemplo. Ahí estaba también la solución.
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests