Page 1 of 2
WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 11:19 am
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 11:45 am
by Antonio Linares
Carlos,
No hace falta uno diferente. En Windows 7 y 8 se verá acorde a los estilos propios de Windows 7 y 8
![Smile :-)](./images/smilies/icon_smile.gif)
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 11:49 am
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 11:55 am
by Antonio Linares
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
![Smile :-)](./images/smilies/icon_smile.gif)
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 12:03 pm
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 8:12 pm
by Antonio Linares
Carlos,
El preview de FWH ya no necesita de la DLL que solía usar
![Smile :-)](./images/smilies/icon_smile.gif)
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Nov 02, 2013 8:42 pm
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Nov 03, 2013 8:58 am
by Antonio Linares
Carlos,
te funciona FWH\samples\TestPrn2.prg ? gracias
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Nov 03, 2013 9:46 am
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Nov 03, 2013 10:43 am
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Nov 03, 2013 12:28 pm
by cnavarro
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: Select all Expand view
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
.../...
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sun Nov 03, 2013 12:48 pm
by colthop
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
Re: WindowsXp.Manifest Tprinter
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Nov 04, 2013 9:56 am
by colthop
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
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Nov 04, 2013 10:27 am
by Antonio Linares
Carlos,
Hay que implementar una serie de cambios en printer.prg:
En el Método New() de TPrinter, el IF inicial queda asi:
- Code: Select all Expand view
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: Select all Expand view
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: Select all Expand view
#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
![Smile :-)](./images/smilies/icon_smile.gif)
Re: WindowsXp.Manifest
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Nov 04, 2013 10:54 am
by colthop
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