FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema en el refresco Checkbox (solucionado)
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema en el refresco Checkbox
Posted: Tue Jul 16, 2019 07:55 PM

Gracias Euclides, como comentaba al principio del post, este efecto s贸lo se produce en di谩logos con la cla煤sula TRANSPARENT.
No me puedo permitir quitar esta cl谩usula en todo el c贸digo de mis aplicaciones.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 159
Joined: Wed Mar 28, 2007 01:19 PM
Re: Problema en el refresco Checkbox
Posted: Tue Jul 16, 2019 08:23 PM

Hola Angel.
Con TRANSPARENT en SAY y no en DIALOG, no resuelve el problema?
de lo contrario lo siento...
Saludos, Euclides.

Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 05:44 AM

Resuelve este caso en concreto pero yo necesito todos los di谩logos con TRANSPARENT.

Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 12:07 PM
Angel, prueba as铆 a ver si es lo que necesitas



ACTIVATE DIALOG oDlg CENTERED ON INIT ( oCheck:lTransparent := .F. )

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: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 12:55 PM
cnavarro wrote:Angel, prueba as铆 a ver si es lo que necesitas



ACTIVATE DIALOG oDlg CENTERED ON INIT ( oCheck:lTransparent := .F. )



Crist贸bal con tu pista llegu茅 a buen t茅rmino. Para no tener que modificar mi c贸digo he hecho un peque帽o ajuste en el m茅todo Initiate de la Clase TDialog, modificando

Code (fw): Select all Collapse
 
...
AEval( ::aControls,;
               { | o | If( ! Upper( o:ClassName() ) $ ;
               "TBAR;TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX;TDBCOMBO;TDATEPICK;TTIMEPICK" .and. ;
                 ! o:IsKindOf( 'TXBROWSE' ) .and. ! o:isKindOf( "TBTNFLAT" ), o:lTransparent := .T., ) } )      
...


por

Code (fw): Select all Collapse
 
...
AEval( ::aControls,;
               { | o | If( ! Upper( o:ClassName() ) $ ;
               "TBAR;TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX;TDBCOMBO;TDATEPICK;TTIMEPICK;TCHECKBOX" .and. ;
                 ! o:IsKindOf( 'TXBROWSE' ) .and. ! o:isKindOf( "TBTNFLAT" ), o:lTransparent := .T., ) } )      
...


No se si ser铆a interesante incorporar este ajuste en futuras revisiones.
Gracias a todos por vuestra ayuda.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 01:20 PM

Ok,
Puedes comparar con lo que tu anterior versi贸n ten铆a en esa misma instrucci贸n?

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: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 01:35 PM
Crist贸bal, la parte de c贸digo de FWH1204

Code (fw): Select all Collapse
   if ::lTransparent
      FixSays( ::hWnd, ::oBrush:hBrush )
      AEval( ::aControls,;
             { | o | If( ! Upper( o:ClassName() ) $ ;
             "TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX;TDBCOMBO;TDATEPICK" .and. ;
               ! o:IsKindOf( 'TXBROWSE' ), o:lTransparent := .T., ) } )
   endif


Aparentemente tampoco deber铆a funcionar ... curioso 驴no?
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 03:38 PM

De ah铆 mi comentario, cuando he visto lo que vas a modificar en la clase, me parec铆a que eso ha estado ah铆 desde hace ya muchas versiones

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: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 06:40 PM

Yo no se si os lio mas o ayudo, mi intencion es ayudar.

El fichero prg junto con el .rc que publico Angel al principio de este mensaje con Fivewin 19.05, la version de Harbour que provee Fivetech y el Borland C++ 7.30 no compila
y arroja el error de mi post. viewtopic.php?f=6&t=37463
que como explico en ese mismo mensaje para arreglarlo, se abre el .rc se graba como .res y voil谩 compila sin problemas.
Entonces este exe no realiza el borrado del texto.
Da lo mismo que utilizes el IDE FivEdit que archivo .mak , mismo comportamiento.

Pero si compilas directamente el .rc y el prg pero cambiando la version de Borland C++ 7.30 por la 7.00 compila perfectamente
y el exe generado si realiza el borrado del texto, como bien dice Angel.
Angel explica que tanto en la version antigua de Fivewin como con la actual utiliza el compilador 7.0 entonces lo que
explico no tiene logica, pero es lo que ocurre.
asi yo no puedo deciros mas con estos datos espero saqueis conclusiones y si os lio mas me lo decis y no postero mas en este hilo :D

Saludos

Jose.

Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 728
Joined: Fri Oct 07, 2005 07:38 AM
Re: Problema en el refresco Checkbox
Posted: Wed Jul 17, 2019 07:23 PM
Matadme si quer茅is :-) :-) :-) :-) ... acabo de ver que en la versi贸n FWH12.04 ya puse unas modificaciones en la clase DIALOG (como en muchas otras, claro ... es lo que tiene mantener las versiones tan viejas) ....

Aqu铆 el c贸digo del DIALOG de la versi贸n FWH1204

Code (fw): Select all Collapse
if ::lTransparent
      FixSays( ::hWnd, ::oBrush:hBrush )
      AEval( ::aControls,;
             { | o | If( ! Upper( o:ClassName() ) $ ;
             "TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX;TDBCOMBO;TDATEPICK" .and. ;
               ! o:IsKindOf( 'TXBROWSE' ), o:lTransparent := .T., ) } )
   endif


Mi c贸digo modificado para dicha versi贸n (FWH1204)

Code (fw): Select all Collapse
if ::lTransparent
      FixSays( ::hWnd, ::oBrush:hBrush )

      // Sigev      
      AEval( ::aControls,;
             { | o | 
                  If ! Upper( o:ClassName() ) $ "TCHECKBOX;TRADIO;TGET;TMULTIGET;TBTNBMP;TCOMBOBOX;TWBROWSE;TCBROWSE;TXBROWSE;TLISTBOX;TDBCOMBO;TDATEPICK" .and. ! o:IsKindOf( 'TXBROWSE' )
                    o:lTransparent := .T. 
                  Endif
             } )
   endif


Pues si, :-) :-) :-) parece que TCHECKBOX ya lo puse en las excepciones hace la tira de a帽os ... y se qued贸 en el tintero.
Por mi parte dejo zanjado el tema pero creo que no estar铆a de m谩s a帽adir esta excepci贸n en futuras versiones para no volver a darle vueltas al tema.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4

Continue the discussion