IsAppThemed()
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
IsAppThemed()
Hola Antonio,
Como sabes, estoy probando FWH 10.07 y lo hago con el actual SVN de Harbour, Borland 5.82 y bajo Windows 7 Professional.
No sé si se trata del mismo problema que he detectado con los gripper,s pero la función IsAppThemed() está retornando siempre .T. (aún sin temas activos).
¿ Puedes comprobarlo ?
Gracias y saludos
Juan
Como sabes, estoy probando FWH 10.07 y lo hago con el actual SVN de Harbour, Borland 5.82 y bajo Windows 7 Professional.
No sé si se trata del mismo problema que he detectado con los gripper,s pero la función IsAppThemed() está retornando siempre .T. (aún sin temas activos).
¿ Puedes comprobarlo ?
Gracias y saludos
Juan
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
Ese error se corrigió en un build publicado posteriormente. Por favor revisa este post:
http://forums.fivetechsupport.com/viewt ... ed#p102733
Ese error se corrigió en un build publicado posteriormente. Por favor revisa este post:
http://forums.fivetechsupport.com/viewt ... ed#p102733
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
El build que estamos usando es ése. El instalable indica FWH/FWHX 10.7 02/Aug/2010.
Recuerda que uso el SVN de Harbour y Borland C 5.82 bajo un Win7 Professional (tema Windows Clásico).
¿ Has podido mirar el asunto de los gripper,s ?
Saludos
Juan
El build que estamos usando es ése. El instalable indica FWH/FWHX 10.7 02/Aug/2010.
Recuerda que uso el SVN de Harbour y Borland C 5.82 bajo un Win7 Professional (tema Windows Clásico).
¿ Has podido mirar el asunto de los gripper,s ?
Saludos
Juan
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
Mantienes un fichero manifest de temas externo ó dentro de los recursos del ejecutable ?
Prueba a quitarlo y comprueba el valor de IsAppThemed(), gracias
Mantienes un fichero manifest de temas externo ó dentro de los recursos del ejecutable ?
Prueba a quitarlo y comprueba el valor de IsAppThemed(), gracias
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
En caso de que estés usando la cláusula 2007 de FWH, entonces este cambio es necesario para que se vea el "gripper" en source\classes\msgbar.prg:
En caso de que estés usando la cláusula 2007 de FWH, entonces este cambio es necesario para que se vea el "gripper" en source\classes\msgbar.prg:
Code: Select all
METHOD Paint() CLASS TMsgBar
local aInfo := ::DispBegin()
if ::l2007
::PaintBar()
::Say( ::nHeight / 4 - 2,;
If( ::lCentered, ( ( ( If( Len( ::aItem ) > 0, ::aItem[ 1 ]:nLeft(), ::nWidth ) ) ) / 2 ) - ( GetTextWidth( ::hDC,;
If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
::oWnd:oFont:hFont ) / 2 ), 4 ),;
If( Empty( ::cMsg ), ::cMsgDef, ::cMsg ),;
::nClrText,,, .T., .T. )
::lPainting := .T.
ASend( ::aItem, "Paint()" )
if ::lPaint3L
MsgPaint3L( ::hWnd, ::nClrPane, ::hDC ) // esta línea dibuja el "gripper"
endif
::lPainting := .F.
if ::bPainted != nil
Eval( ::bPainted, ::hDC )
endif
::DispEnd( aInfo )
return nil
endif
...
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
Cuando quito el fichero manifest de temas de los recursos del ejecutable IsAppThemed() siempre retorna .F. (aún con temas activos).
Además, sin llegar a implementar _ que me indicas ya que pruebo con ::l2007 == .F., también se pintan bien los grippers.
Ya me dirás si necesitas más pruebas ...
Saludos
Juan
Cuando quito el fichero manifest de temas de los recursos del ejecutable IsAppThemed() siempre retorna .F. (aún con temas activos).
Además, sin llegar a implementar _ que me indicas ya que pruebo con ::l2007 == .F., también se pintan bien los grippers.
Ya me dirás si necesitas más pruebas ...
Saludos
Juan
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
Como puedes quitar el fichero manifest de temas y que los temas estén activos ? Me refiero en tu aplicación
La solución de poner a .F. la DATA l2007 tambien sería válida, siempre y cuando no uses la claúsula 2007
Como puedes quitar el fichero manifest de temas y que los temas estén activos ? Me refiero en tu aplicación
La solución de poner a .F. la DATA l2007 tambien sería válida, siempre y cuando no uses la claúsula 2007
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
Espera que NO nos liemos
Me refería a temas activos en Windows 7.
Por otro lado, el código que me proporcionas ya me va bien para que se pinte el "gripper" con ::l2007 == .T. porque nuestras aplicaciones pueden ser parametrizadas para que ::l2007 se fije a .T. o .F. (a gusto del usuario).
En definitiva, lo que falta por solucionar son los 2 problemas que hemos observado que provoca tener el fichero manifest entre los recursos del ejecutable :
1) IsAppThemed() siempre retorna .T.
2) Los grippers NO se pintan
¿ no es eso ?
Saludos
Juan
Espera que NO nos liemos
Me refería a temas activos en Windows 7.
Por otro lado, el código que me proporcionas ya me va bien para que se pinte el "gripper" con ::l2007 == .T. porque nuestras aplicaciones pueden ser parametrizadas para que ::l2007 se fije a .T. o .F. (a gusto del usuario).
En definitiva, lo que falta por solucionar son los 2 problemas que hemos observado que provoca tener el fichero manifest entre los recursos del ejecutable :
1) IsAppThemed() siempre retorna .T.
2) Los grippers NO se pintan
¿ no es eso ?
Saludos
Juan
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
IsAppThemed() devolverá .T. si encuentra el fichero manifest bien este dentro o fuera del ejecutable. Tendriamos que ver como detectar que aunque ese fichero exista, los temas no estan activados.
Anteriormente usábamos la función IsAppThemed() de UXTHEME.DLL (Windows) pero hemos visto que siempre devuelve .T. por el hecho de que Windows este usando temas aunque nuestra aplicación no los use.
Asi que de momento una solución seria que borraseis el fichero manifest y entonces la función IsAppThemed() de FWH devolvería .F.
En cuanto al "gripper", no me comentas lineas más arriba que ya te funciona ? En que condiciones no te funciona ? gracias,
IsAppThemed() devolverá .T. si encuentra el fichero manifest bien este dentro o fuera del ejecutable. Tendriamos que ver como detectar que aunque ese fichero exista, los temas no estan activados.
Anteriormente usábamos la función IsAppThemed() de UXTHEME.DLL (Windows) pero hemos visto que siempre devuelve .T. por el hecho de que Windows este usando temas aunque nuestra aplicación no los use.
Asi que de momento una solución seria que borraseis el fichero manifest y entonces la función IsAppThemed() de FWH devolvería .F.
En cuanto al "gripper", no me comentas lineas más arriba que ya te funciona ? En que condiciones no te funciona ? gracias,
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
Hay algo que no entiendo ...
En anteriores versiones (p.e. FWH 9.01), IsAppThemed() sólo devolvía .T. si se cumplían 2 condiciones simultáneamente :
1) El fichero manifest estaba dentro del ejecutable (fuera de él NO lo he probado).
2) Windows tenía temas activos.
¿ No es éste el comportamiento deseado ?
Respecto de los grippers, han empezado a funcionar cuando he sacado el fichero manifest del ejecutable.
Saludos
Juan
Hay algo que no entiendo ...
En anteriores versiones (p.e. FWH 9.01), IsAppThemed() sólo devolvía .T. si se cumplían 2 condiciones simultáneamente :
1) El fichero manifest estaba dentro del ejecutable (fuera de él NO lo he probado).
2) Windows tenía temas activos.
¿ No es éste el comportamiento deseado ?
Respecto de los grippers, han empezado a funcionar cuando he sacado el fichero manifest del ejecutable.
Saludos
Juan
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
A modo de prueba, he sustituido el módulo THEMES.OBJ de FIVEHC.LIB por el de la versión 9.01 y ahora tanto IsAppThemed() como los grippers funcionan correctamente.
Ya me dirás ...
Saludos
Juan
A modo de prueba, he sustituido el módulo THEMES.OBJ de FIVEHC.LIB por el de la versión 9.01 y ahora tanto IsAppThemed() como los grippers funcionan correctamente.
Ya me dirás ...
Saludos
Juan
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
Por lo que he entendido de tus mensajes, tu aplicación está funcionando en un Windows con temas pero tu aplicación no usa temas. Es así ?
Pongámonos de acuerdo primero en lo básico
Por lo que he entendido de tus mensajes, tu aplicación está funcionando en un Windows con temas pero tu aplicación no usa temas. Es así ?
Pongámonos de acuerdo primero en lo básico
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
Me pillaste
¿ Qué quieres decir si mi aplicación usa temas ?
Yo NO hago nada especial, incluyo el fichero manifest y es el propio FWH quien tiene sus comportamientos específicos si IsAppThemed() == .T. ( p.e. el uso de DrawPBack() ).
Me pillaste
¿ Qué quieres decir si mi aplicación usa temas ?
Yo NO hago nada especial, incluyo el fichero manifest y es el propio FWH quien tiene sus comportamientos específicos si IsAppThemed() == .T. ( p.e. el uso de DrawPBack() ).
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: IsAppThemed()
Juan,
Al comienzo de esta conversación comentastes:
Lo más sencillo es que pongas una imagen de como se ve tu aplicación, asi nos entenderemos mejor
Al comienzo de esta conversación comentastes:
Que quieres decir con "tema Windows Clásico" ?Recuerda que uso el SVN de Harbour y Borland C 5.82 bajo un Win7 Professional (tema Windows Clásico).
Lo más sencillo es que pongas una imagen de como se ve tu aplicación, asi nos entenderemos mejor
-
- Posts: 14
- Joined: Fri Oct 21, 2005 10:05 am
Re: IsAppThemed()
Antonio,
Sólo identificaba el escenario en el que IsAppThemed() devolvía .T. y los grippers NO se pintaban.
Si no me equivoco, fijar el tema "Windows clásico" en Win7 es sinónimo de desactivar los temas y en consecuencia IsAppThemed() debería retornar .F. (así funcionaba p.e. FWH 9.01).
Sólo identificaba el escenario en el que IsAppThemed() devolvía .T. y los grippers NO se pintaban.
Si no me equivoco, fijar el tema "Windows clásico" en Win7 es sinónimo de desactivar los temas y en consecuencia IsAppThemed() debería retornar .F. (así funcionaba p.e. FWH 9.01).