FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Fri Jul 09, 2010 05:31 PM
Estimados

el ejemplo gradbrus.prg al presionar el boton FIRST sale un dialogo con checkbox si uno presiona la tecla ALT estos desaparecen

a alguien mas le sucede?

ahh utilizo windows 7
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Fri Jul 09, 2010 06:21 PM

Patricio,

+1

Sip, me hace lo mismo.

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 32
Joined: Sun Dec 03, 2006 12:05 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Sun Jul 11, 2010 01:28 PM

viewtopic.php?f=6t=19070

Agora com a versão do FWH 10.6 continua o problema.

&

S.A.Oliveira

Lins-SP - Brasil

FWH 10.9, PellesC,MySql
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Wed Jul 14, 2010 04:20 PM

solo para que no se pierda este mensaje...

Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Wed Jul 14, 2010 07:28 PM
Patricio,

Este es un error que hemos corregido varias veces y que luego, por varias razones hemos pensado que no era necesario. Pero samples\GradBrus.prg claramente demuestra que si hace falta solucionarlo.

Hay que añadir estas líneas a la Clase TControl en source\classes\control.prg
Code (fw): Select all Collapse
       ...

      case nMsg == WM_LBUTTONDOWN
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return Super:LButtonDown( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_LBUTTONUP
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return Super:LButtonUp( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_UPDATEUISTATE  // buttons, radios and checkboxes were erased when pressing ALT
           nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return nResult
   endcase
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Wed Jul 14, 2010 08:33 PM

En el cambio anterior hay que llamar a:

return ::LButtonDown( ... )
...
return ::LButtonUp( ... )

en vez de a:

return Super:LButtonDown( ... )
...
return Super:LButtonUp( ... )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Wed Jul 14, 2010 10:20 PM
ahora casca en los ribbon

Code (fw): Select all Collapse
Application
===========
   Path and name: C:\FWH\samples\testqck.exe (32 bits)
   Size: 1,673,216 bytes
   Time from start: 0 hours 0 mins 2 secs 
   Error occurred at: 07/14/10, 18:18:12
   Error description: Error BASE/1066  Argument error: conditional
   Args:
     [   1] = U   

Stack Calls
===========
   Called from: c:\fwh\source\classes\CONTROL.prg => TCONTROL:HANDLEEVENT(1485)
   Called from: .\source\classes\TRIBBON.PRG => TRIBBONBAR:HANDLEEVENT(956)
   Called from: c:\fwh\source\classes\WINDOW.prg => _FWH(3391)



asi funciona muy bien
Code (fw): Select all Collapse
              //revisando problemas de transparencia ..

      case nMsg == WM_LBUTTONDOWN
           if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh()
           endif
           return ::LButtonDown( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_LBUTTONUP
           if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh()
           endif
           return ::LButtonUp( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_UPDATEUISTATE  // buttons, radios and checkboxes were erased when pressing ALT
           nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
           if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh()
           endif
           return nResult
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Tue Jul 20, 2010 08:51 PM
auh!!!!

Ahora al presionar un CHECKBOX hace un parpadeo de refresh en toda el dialogo...

bueno elimine la sugerencia que dio antonio y funciona perfecto

Porque?...

envestigando un poco el codigo era que en mi dialogo tenia GROUPBOX sin definir en mi codigo, ahora
estan asi
Code (fw): Select all Collapse
REDEFINE GROUP ID 301 OF oDlg
REDEFINE GROUP ID 302 OF oDlg


y funciona perfect...


Code (fw): Select all Collapse
para su analisis
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 175
Joined: Tue Nov 10, 2009 10:56 AM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Sun Aug 01, 2010 05:07 AM

Thanks for the help.

  case nMsg == WM_LBUTTONDOWN
       if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
          ::oWnd:Refresh()
       endif
       return ::LButtonDown( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

  case nMsg == WM_LBUTTONUP
       if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
          ::oWnd:Refresh()
       endif
       return ::LButtonUp( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

  case nMsg == WM_UPDATEUISTATE  // buttons, radios and checkboxes were erased when pressing ALT
       nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
       if Valtype( ::lTransparent  ) = "L" .and. ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
          ::oWnd:Refresh()
       endif
       return nResult

How to prevent dialog box from flickering when I click on the checkbox.

Thanks

Regards

ACWOO
using fwh10.7 + harbour2.1+bcc582

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Sun Aug 01, 2010 05:33 AM

Acwoo,

Please review this example and you will see the right way to implement a gradient as a brush so there will be no flickering:

viewtopic.php?p=102058#p102058

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Sun Aug 01, 2010 04:45 PM
METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TControl

/* Cambios propuestos por A. Linares y Patricio Avalos Aguirre*/
case nMsg == WM_UPDATEUISTATE // buttons, radios and checkboxes were erased when pressing ALT
nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
if Valtype( ::lTransparent ) = "L" .and. ::lTransparent .and. ;
::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
::Refresh()
endif
return nResult
/* Fin de Agregado por Linares y confirmado por Patricio Avalos Aguirre*/

Y este trozo donde se menciona a "TBTNBMP" ¿como queda? ¿sería adecuado que se agregue a la propuesta?

case nMsg == WM_UPDATEUISTATE // buttons, radios and checkboxes were erased when pressing ALT
nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
if Upper( ::ClassName() ) == "TBTNBMP"
::Refresh()
endif
::Refresh()
return nResult


Antonio Linares wrote:Patricio,

Este es un error que hemos corregido varias veces y que luego, por varias razones hemos pensado que no era necesario. Pero samples\GradBrus.prg claramente demuestra que si hace falta solucionarlo.

Hay que añadir estas líneas a la Clase TControl en source\classes\control.prg
Code (fw): Select all Collapse
       ...

      case nMsg == WM_LBUTTONDOWN
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return Super:LButtonDown( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_LBUTTONUP
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return Super:LButtonUp( nHiWord( nLParam ), nLoWord( nLParam ), nWParam )

      case nMsg == WM_UPDATEUISTATE  // buttons, radios and checkboxes were erased when pressing ALT
           nResult = Super:HandleEvent( nMsg, nWParam, nLParam )
           if ::lTransparent .and. ::IsKindOf( "TRADIO" ) .or. ::IsKindOf( "TCHECKBOX" )
              ::oWnd:Refresh() 
           endif   
           return nResult
   endcase
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Mon Aug 02, 2010 03:14 PM

El problema sigue con FWH10.7. Con ALT desaparecen los PROMPT

Igual con samples/gradbrus testrad2, testrad5. En general con los Radios, Checkbox y transparencias hay problemas.

Saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Mon Aug 02, 2010 11:10 PM

Carlos,

El error era de la función IsAppThemed() la cual en una modificación reciente tenía un bug.

Acabamos de publicar un nuevo build de FWH 10.7 con la función IsAppThemed() correcta. Según nuestras pruebas ahora funcionan correctamente todos esos ejemplos que mencionas :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Tue Aug 03, 2010 03:12 PM

Perfecto Antonio, todo bien ahora.

Gracias y saludos,

Carlos Gallego

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***

Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Re: TRANSPARENCIA SAY Y CHECKBOX fallan al presionar tecla alt
Posted: Tue Aug 03, 2010 10:38 PM

Antonio
Y para nosotros, los que no poseemos las últimas versiones.... ¿habrá algún consejo, aparte de la consabida actualización necesaria?.. Como decía un personaje de Caricatura Chileno... ¡exijo una explicación! :wink:
Saludos
Armando

FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com