FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour WindowsXp.Manifest
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
WindowsXp.Manifest
Posted: Sat Nov 02, 2013 11:19 AM

Una pregunta para quien me lo pueda contestar:

Con WindowsXP.Manifest se adquiere un look de XP. ¿Existe algún otro Manifest para adquirir el look de Windows 7 o Windows 8?

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 11:45 AM

Carlos,

No hace falta uno diferente. En Windows 7 y 8 se verá acorde a los estilos propios de Windows 7 y 8 :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 11:49 AM

Hola Antonio:

Lo que yo quisiera es tener en las ventanas (Windows) redondeados los bordes y eso creo que es en el estilo de Windows 7. ¿Se podría hacer?

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 11:55 AM

Carlos,

Cada versión de Windows usa sus propios estilos, asi que no tienes que hacer nada.

Intentar usar estilos que no son los propios de Windows es complicarse la vida sin necesidad :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 12:03 PM

hola Antonio.

Era simplemente si se podría rizar el rizo y quitar a las ventanas los picos, pero era muy secundario ya que con la nueva versión de FWH y con lo del aspecto de XP mejora mucho la calidad visual. Lo que si he detectado es que ahora no me funciona el PREVIEW. Hay que hacer algo especial al cambiar de versión, ya que en la actualización no hay nada de DLL de los previews.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 08:12 PM

Carlos,

El preview de FWH ya no necesita de la DLL que solía usar :-)

Puedes probar a construir samples\TestPrn2.prg ? Aqui muestra el preview correctamente.

O mejor aún, si construyes samples\FiveDBU.prg y asi puedes hojear una DBF y generar un preview

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sat Nov 02, 2013 08:42 PM

Hola Antonio:

Mas buenas noticias ya no necesito poner el preview.dll, mejor. El problema que te comentaba no es del Preview sino de la clase TPrint.

Yo pongo:

PRINT oPrn PREVIEW TITLE "TITULO" TO "NOMBRE IMPRESORA"

Y si quito la clausula TO "NOMBRE IMPRESORA" funciona y si lo pongo no hace nada.

Podrías ayudarme sobre este tema.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: WindowsXp.Manifest
Posted: Sun Nov 03, 2013 08:58 AM

Carlos,

te funciona FWH\samples\TestPrn2.prg ? gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sun Nov 03, 2013 09:46 AM

Hola Antonio:

Ahora me pongo, pero primero iba a comparar las dos clases la que tenia antes y la de ahora.

Te comento algo.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sun Nov 03, 2013 10:43 AM

Hola Antonio:

El ejemplo que tu me dices, en un principio, al compilarlo si aparece el PREVIEW. Pero si a la instrucción PRINT del ejemplo le pongo TO "IMPRESORA" ya si que no aparece el PREVIEW.

Solo pasa cuando pongo la clausula TO "Impresora" ya que si la quito ya tenga o no PREVIEW funciona. También he cogido la clase de la versión anterior, la he incluido en la compilación y así si me funciona sin el PREVIEW, con el PREVIEW me da un error que no he querido seguir.

Dime algo

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: WindowsXp.Manifest
Posted: Sun Nov 03, 2013 12:28 PM
Carlos
A mi me pasa lo mismo, lo he comprobado, si pones el TO <cModel> no se ejecuta ya que el hdC está vacío
Sin embargo, si la misma instrucción que aparece en la clase modificada la sitúo en el ejemplo Testprn2.prg, funciona correctamente, es decir, realiza el preview y selecciona la impresora que deseamos sin modificar la impresora por defecto:
Code (fw): Select all Collapse
function Main()

   local oPrn, oFont
   local nRowStep, nColStep
   local nRow := 0, nCol := 0, n, m
   local cModel := "Hp Laserjet 1018"

   // PrnSetSize( 2100, 1200 )     To adjust a different printer paper size!

   PRINT oPrn NAME "Testing the printer object from FiveWin" PREVIEW TO cModel //"Hp Laserjet 1018"

   //cModel = oPrn:GetModel() + "," + oPrn:GetDriver() + "," + oPrn:GetPort()+","
   ? cModel
   MsgInfo( GETPROFSTRING( "Devices", Upper(cModel), "" ) )
   MsgInfo( StrToken( GetProfString( "Devices", cModel, "" ), 1, "," ) )
   MsgInfo( StrToken( GetProfString( "Devices", cModel, "" ), 2, "," ) )
  // Añado en el ejemplo 
   oPrn:hDC = PrinterDcFromName( StrToken( GetProfString( "Devices", cModel, "" ), 1,;
              "," ), cModel, StrToken( GetProfString( "Devices", cModel, "" ), 2, "," ) )
   
      if Empty( oPrn:hDC )
         return nil          // Printer was not installed or ready
      endif
 
.../...
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Sun Nov 03, 2013 12:48 PM

Holas cnavarro:

Acabo de repetir el proceso lo he compilado sin mas y me ha salido el PREVIEW sin embargo le he puesto TO "CutePDF Writer" y ya no me saca el PREVIEW.
Por si las mosca lo he realizado también en la anterior versión de FWH que tenia y en esa sale el PREVIEW le ponga o no el TO "CutePDF Writer".

No se si tiene que ver pero yo uso xHarbour. y es la última versión que había un enlace en el envío la build (20130422)

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest Tprinter
Posted: Mon Nov 04, 2013 09:56 AM

Hola Antonio:

Como esta el tema de la impresión con la clase Printer ya que tengo pendientes unas actualizaciones que no puedo enviar.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: WindowsXp.Manifest
Posted: Mon Nov 04, 2013 10:27 AM
Carlos,

Hay que implementar una serie de cambios en printer.prg:

En el Método New() de TPrinter, el IF inicial queda asi:

Code (fw): Select all Collapse
   if lUser
      ::hDC := GetPrintDC( GetActiveWindow(), lSelection, PrnGetPagNums() )
      if ::hDC != 0
         cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()
      endif
   elseif cModel == nil
      ::hDC  := GetPrintDefault( GetActiveWindow() )
      if ::hDC != 0
         cModel = ::GetModel() + "," + ::GetDriver() + "," + ::GetPort()
      endif
   else
      ::hDC = PrinterDcFromName( , cModel, )  // cambia aqui !!!
   endif


Y la función PrintBegin() contenida en printer.prg queda asi:
Code (fw): Select all Collapse
function PrintBegin( cDoc, lUser, lPreview, xModel, lModal, lSelection, cFile )

   local cText, aPrn, nScan

   if xModel == nil
      return oPrinter := TPrinter():New( cDoc, lUser, lPreview,, lModal, lSelection, cFile )
   endif

   cText = StrTran( GetProfString( "Devices" ), Chr( 0 ), Chr( 13 ) + Chr( 10 ) )
   aPrn  = Array( MlCount( cText, 250 ) )

   AEval( aPrn, { | v, n | aPrn[ n ] := Trim( MemoLine( cText, 250, n ) ) } )

   if Valtype( xModel ) == "N"
      if xModel < 0 .or. xModel > Len( aPrn )
         nScan = 0
      else
         nScan = xModel
      endif
   else
      if ( nScan := Ascan( aPrn, { | v | Upper( xModel ) == Upper( v ) } ) ) == 0
         nScan = Ascan( aPrn, { | v | Upper( xModel ) $ Upper( v ) } )
      endif
   endif

   if nScan == 0
      MsgBeep()
      return oPrinter := TPrinter():New( cDoc, .T., lPreview,, lModal, lSelection, cFile )
   endif

return oPrinter := TPrinter():New( cDoc, .f., lPreview, aPrn[ nScan ], lModal,;
                                   lSelection, cFile )


Con estos cambios, este ejemplo funciona bien:
Code (fw): Select all Collapse
#include "FiveWin.ch"

function Main()

   local oPrn
   
   PRINTER oPrn PREVIEW TO "XPS"
   
      PAGE
         oPrn:Say( 1, 1, "Hello world" )
      ENDPAGE
      
   ENDPRINTER

return nil


Puedes cambiar "XPS" con "Fax" y verás que ambos funcionan bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: WindowsXp.Manifest
Posted: Mon Nov 04, 2013 10:54 AM

Hola Antonio:

Parece esta todo de P.M. (perfectamente manufacturado) esta modificación se incluirá en la siguiente versión para no tener que poner el Printer.prg en la compilación.

Y una cosa tu que sabes, como se puede poner que la botonera del Preview aparezca siempre con la versión 2010.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.