Problema en el refresco Checkbox (solucionado)

Problema en el refresco Checkbox (solucionado)

Postby AngelSalom » Thu Jul 11, 2019 5:50 pm

Buenas amigos, sigo ajustando detalles tras la actualización a FWH19.05

Me encuentro en que en un diálogo con CheckBox éste no se repinta correctamente si hay un factor externo que cambia su estado (activo a no activo). En este pequeño ejemplo que adjunto se puede observar lo que ocurre. El Checkbox inicialmente desactivado, se activará al seleccionar el 2º radio, se observa cómo borra todo el diálogo desde su posición hacia abajo.

Image

He conseguido aislar el problema en diálogos transparentes y cuando se incluye en el rc el aspecto xp (windowsxp.manifest). El problema es que tengo todos los diálogos de este modo (transparentes) y no me interesa quitar el manifest, claro.

¿Se trata de un bug de la versión? Cabe decir que con la que usaba anteriormente no había observado este comportamiento.

Aquí el prg y el rc para probarlo.

Code: Select all  Expand view  RUN
#include "fivewin.ch"

Function Main()

  Local oDlg, oCheck, oRadio, nRadio:=1, lCheck:=.F.

  DEFINE DIALOG oDlg NAME "TEST" TRANSPARENT COLOR CLR_BLACK, CLR_WHITE
 
  REDEFINE CHECKBOX oCheck VAR lCheck ID 103 OF oDlg WHEN nRadio=2
  REDEFINE RADIO oRadio VAR nRadio ID 104,105 OF oDlg
 
  ACTIVATE DIALOG oDlg CENTERED

Return (nil)
 


Code: Select all  Expand view  RUN
// RESOURCE SCRIPT generated by "Pelles C for Windows, version 9.00".

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include "resource.h"

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US


TEST DIALOG DISCARDABLE 45, 45, 339, 143
STYLE WS_POPUP|DS_MODALFRAME|WS_CAPTION|WS_VISIBLE
CAPTION "Prueba Check "
FONT 8, "Segoe UI"
{
  CONTROL "&Check 1", 103, "Button", BS_AUTOCHECKBOX|BS_FLAT|WS_TABSTOP, 15, 30, 132, 12
  CONTROL "No &activo", 104, "Button", BS_AUTORADIOBUTTON, 189, 30, 60, 12
  CONTROL "&Activo\r\n\r\n", 105, "Button", BS_AUTORADIOBUTTON, 189, 45, 74, 12
  CONTROL "Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno ", -1, "Static", WS_GROUP, 15, 71, 283, 49
}

// Add this to your resources RC file

#ifdef __FLAT__
   1 24 "WindowsXP.Manifest"
#endif

#ifdef __64__
   1 24 "WinXP/WindowsXP.Manifest64"
#endif

 
Last edited by AngelSalom on Wed Jul 17, 2019 7:26 pm, edited 1 time in total.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Problema en el refresco Checkbox

Postby karinha » Thu Jul 11, 2019 6:50 pm

Code: Select all  Expand view  RUN

#include "fivewin.ch"

STATIC nRadio := 1, lCheck:=.F.

Function Main()

  Local oDlg, oCheck, oRadio

  DEFINE DIALOG oDlg NAME "TEST" TRANSPARENT COLOR CLR_BLACK, CLR_WHITE
 
  REDEFINE CHECKBOX oCheck VAR lCheck ID 103 OF oDlg WHEN nRadio=2

  REDEFINE RADIO oRadio VAR nRadio ID 104,105 OF oDlg ;
           ON CHANGE( REFRESH_ANGEL( oDlg ) )
 
  ACTIVATE DIALOG oDlg CENTERED

Return (nil)

FUNCTION REFRESH_ANGEL( oDlg )

   IF nRadio=2

      oDlg:UpDate()

   ELSE

      oDlg:Refresh()

   ENDIF

RETURN( .T. )
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema en el refresco Checkbox

Postby AngelSalom » Fri Jul 12, 2019 6:14 am

Gracias karinha, además de que el ejemplo que muestras hace exactamente lo mismo, esto supondría modificar muchísimo código en mis aplicaciones, entiendo que es una funcionalidad que en la versión de FW que estaba utilizando funcionaba bien y que ahora no lo está haciendo correctamente, supongo que deberá corregirse a nivel de las clases nativas en lugar de tener que hacer un "apaño".
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Problema en el refresco Checkbox

Postby karinha » Fri Jul 12, 2019 3:07 pm

Una imagen, habla por si.

Image

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema en el refresco Checkbox

Postby karinha » Fri Jul 12, 2019 3:14 pm

ANGEL2.PRG

Code: Select all  Expand view  RUN

#include "FiveWin.ch"

STATIC nRadio := 1, lCheck := .F.

function Main()

   Local oDlg, oCheck, oRadio, oFnt, oFont, oSalida

   SET _3DLOOK ON

   SkinButtons()

   DEFINE FONT oFnt   NAME "Ms Sans Serif"   SIZE 0, -12 BOLD
   DEFINE FONT oFont  NAME "Ms Sans Serif"   SIZE 0, -14 BOLD

   DEFINE DIALOG oDlg RESOURCE "Teste" FONT oFont

   oDlg:lHelpIcon := .F.

   REDEFINE CHECKBOX oCheck VAR lCheck ID 103 OF oDlg WHEN nRadio = 2

   REDEFINE RADIO oRadio VAR nRadio ID 104, 105 OF oDlg

   REDEFINE BUTTON oSalida ID 120 OF oDlg ACTION( oDlg:End() ) CANCEL

   SET FONT OF oSalida TO oFont

   ACTIVATE DIALOG oDlg CENTERED

   oFnt:End()
   oFont:End()

RETURN NIL
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema en el refresco Checkbox

Postby karinha » Fri Jul 12, 2019 3:21 pm

Code: Select all  Expand view  RUN

/****************************************************************************


angel2.rc

produced by Borland Resource Workshop


*****************************************************************************/



TESTE DIALOG 135, 78, 260, 144
STYLE DS_ABSALIGN | DS_MODALFRAME | 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "TESTE CHECKBOX"
{
 CONTROL "&Check 1", 103, "BUTTON", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 48, 19, 49, 9
 CONTROL "Rádio &No Activo", 104, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 142, 19, 70, 12
 CONTROL "Rádio &Activo ", 105, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 142, 36, 70, 12
 PUSHBUTTON "&Salida", 120, 100, 123, 50, 14
 CTEXT "Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno  By Angel - Funciona Bién con Workshop y FWH1701 - No me gusta PELLESC.", -1, 11, 51, 240, 60, SS_CENTER | WS_CHILD | WS_VISIBLE
 GROUPBOX "Angel Group - CheckBox y Rádio On Off.", 501, 5, 5, 250, 114, BS_GROUPBOX | WS_CHILD | WS_VISIBLE
}

1 24 LOADONCALL MOVEABLE
{
 '3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31'
 '2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 55 54'
 '46 2D 38 22 20 73 74 61 6E 64 61 6C 6F 6E 65 3D'
 '22 79 65 73 22 3F 3E 0D 0A 3C 61 73 73 65 6D 62'
 '6C 79 20 78 6D 6C 6E 73 3D 22 75 72 6E 3A 73 63'
 '68 65 6D 61 73 2D 6D 69 63 72 6F 73 6F 66 74 2D'
 '63 6F 6D 3A 61 73 6D 2E 76 31 22 20 6D 61 6E 69'
 '66 65 73 74 56 65 72 73 69 6F 6E 3D 22 31 2E 30'
 '22 3E 0D 0A 3C 61 73 73 65 6D 62 6C 79 49 64 65'
 '6E 74 69 74 79 0D 0A 20 20 20 20 76 65 72 73 69'
 '6F 6E 3D 22 31 2E 30 2E 30 2E 30 22 0D 0A 20 20'
 '20 20 70 72 6F 63 65 73 73 6F 72 41 72 63 68 69'
 '74 65 63 74 75 72 65 3D 22 58 38 36 22 0D 0A 20'
 '20 20 20 6E 61 6D 65 3D 22 46 69 76 65 54 65 63'
 '68 20 53 6F 66 74 77 61 72 65 2E 46 69 76 65 57'
 '69 6E 2E 33 32 62 69 74 73 22 0D 0A 20 20 20 20'
 '74 79 70 65 3D 22 77 69 6E 33 32 22 0D 0A 2F 3E'
 '0D 0A 3C 64 65 73 63 72 69 70 74 69 6F 6E 3E 59'
 '6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 20'
 '64 65 73 63 72 69 70 74 69 6F 6E 20 68 65 72 65'
 '2E 3C 2F 64 65 73 63 72 69 70 74 69 6F 6E 3E 0D'
 '0A 3C 64 65 70 65 6E 64 65 6E 63 79 3E 0D 0A 20'
 '20 20 20 3C 64 65 70 65 6E 64 65 6E 74 41 73 73'
 '65 6D 62 6C 79 3E 0D 0A 20 20 20 20 20 20 20 20'
 '3C 61 73 73 65 6D 62 6C 79 49 64 65 6E 74 69 74'
 '79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 74'
 '79 70 65 3D 22 77 69 6E 33 32 22 0D 0A 20 20 20'
 '20 20 20 20 20 20 20 20 20 6E 61 6D 65 3D 22 4D'
 '69 63 72 6F 73 6F 66 74 2E 57 69 6E 64 6F 77 73'
 '2E 43 6F 6D 6D 6F 6E 2D 43 6F 6E 74 72 6F 6C 73'
 '22 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 76'
 '65 72 73 69 6F 6E 3D 22 36 2E 30 2E 30 2E 30 22'
 '0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 70 72'
 '6F 63 65 73 73 6F 72 41 72 63 68 69 74 65 63 74'
 '75 72 65 3D 22 58 38 36 22 0D 0A 20 20 20 20 20'
 '20 20 20 20 20 20 20 70 75 62 6C 69 63 4B 65 79'
 '54 6F 6B 65 6E 3D 22 36 35 39 35 62 36 34 31 34'
 '34 63 63 66 31 64 66 22 0D 0A 20 20 20 20 20 20'
 '20 20 20 20 20 20 6C 61 6E 67 75 61 67 65 3D 22'
 '2A 22 0D 0A 20 20 20 20 20 20 20 20 2F 3E 0D 0A'
 '20 20 20 20 3C 2F 64 65 70 65 6E 64 65 6E 74 41'
 '73 73 65 6D 62 6C 79 3E 0D 0A 3C 2F 64 65 70 65'
 '6E 64 65 6E 63 79 3E 0D 0A 3C 2F 61 73 73 65 6D'
 '62 6C 79 3E 0D 0A'
}
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema en el refresco Checkbox

Postby karinha » Fri Jul 12, 2019 3:23 pm

Manifest...

Code: Select all  Expand view  RUN

// Add this to your resources RC file desde donde esta tu FWH...

#ifdef __FLAT__
   1 24 "C:\FWH1905\WINXP\WindowsXP.Manifest"
#endif

#ifdef __64__
   1 24 "C:\FWH1905\WINXP\WindowsXP.Manifest64"
#endif
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7832
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Problema en el refresco Checkbox

Postby nageswaragunupudi » Sat Jul 13, 2019 4:04 pm

Mr. AngelSalom

What was the old version you were using?
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Problema en el refresco Checkbox

Postby AngelSalom » Sat Jul 13, 2019 6:01 pm

Mr. rao 12.04
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Problema en el refresco Checkbox

Postby nageswaragunupudi » Sun Jul 14, 2019 12:12 am

I built your sample with both FWH1905 and FWH1204.
The behavior is the same with both FWH1905 and also FWH1204.
Please see this:

Image

So, the issue is not because of upgrading FWH.

In both the versions, adding or not adding the Manifest is making all the difference.

We are looking into this.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Problema en el refresco Checkbox

Postby jvtecheto » Mon Jul 15, 2019 3:54 pm

Hola Angel:

He creado un proyecto con los ficheros que has adjuntado

lo ejecuto y no me hace el efecto que te hace a ti, tengo la ultima version de Fivewin como tu.
mira
Image

no entiendo este comportamiento que te hace.

Como construyes el exe.?

Yo utilizo fivEdit (Cristobal Navarro), por el IDE que utilizas debes utilizar archivos .mak , ahi esta la clave creo.

Si tienes instalado fivEdit pruebalo con el , veras como no te borra el control de abajo.

Espero que soluciones el tema a la mayor brevedad.

Saludos

Jose.

"Si algun dia no tienes mucho trabajo ya quedaremos para charlar un rato. "
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 600
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Problema en el refresco Checkbox

Postby jvtecheto » Mon Jul 15, 2019 4:01 pm

For Mr. Rao.

I'm sorry but with me the latest version of fivewin does not do that behavior I use fivedit to build.

look at the image above.

Idea :
I have seen that both use the borland compiler 7.0 I use borland 7.3

Could there be a difference?

Regards
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 600
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Problema en el refresco Checkbox

Postby AngelSalom » Mon Jul 15, 2019 5:06 pm

brakaman wrote:Hola Angel:

He creado un proyecto con los ficheros que has adjuntado

lo ejecuto y no me hace el efecto que te hace a ti, tengo la ultima version de Fivewin como tu.
mira
Image

no entiendo este comportamiento que te hace.

Como construyes el exe.?

Yo utilizo fivEdit (Cristobal Navarro), por el IDE que utilizas debes utilizar archivos .mak , ahi esta la clave creo.

Si tienes instalado fivEdit pruebalo con el , veras como no te borra el control de abajo.

Espero que soluciones el tema a la mayor brevedad.

Saludos

Jose.

"Si algun dia no tienes mucho trabajo ya quedaremos para charlar un rato. "


Cuando pongo ejemplos en el foro siempre utilizo el buildh.bat que incluye cada versión de FW (en samples) para maximizar la compatibilidad y procurar que las pruebas que se hagan no difieran por cuestiones del script de compilado.

Mi aplicación tiene varios cientos de prg, librerías de terceros, librerías propias, código c propio, clases adaptadas ... mucho jaleo para integrarlo todo con fivEdit. Pero bueno, sigo en que con la versión 12.04 (en mi aplicación) no fallaba y en la actual sí.

Utilizo Borland 7.0 tanto para FWH12.04 como para FWH19.05.
Está claro que los tiros van por el WindowsXP.Manifest y el trato diferente que realizan las clases de FW en el repintado en el caso de que este incluído esta información el los Recursos, presupongo que con el isAppThemed() ... pero no me he puesto a investigar más a fondo de momento .... estoy acabando de ajustar más código para el cambio de versión.

Respecto a charlar a ver si hablamos después del verano, estamos con las vacaciones en los morros y con un cambio próximo de oficina que nos va a traer locos!!!! Saludos.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 727
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Problema en el refresco Checkbox

Postby jvtecheto » Mon Jul 15, 2019 9:24 pm

Hola Angel.

No , a lo de probarlo con el FivEdit me referia solamente al archivo .prg y el archivo .rc que adjuntaste, Solo a eso no a todo la aplicacion de gestion que tienes.

No se cual puede ser el error, la verdad yo solo te digo que si lo compilas con el FivEdit no muestra el error.

No te preocupes por lo de hablar , no tengo prisa. Pero sino te viene bien tampoco pasa nada :D

Saludos.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 600
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Problema en el refresco Checkbox

Postby Euclides » Tue Jul 16, 2019 4:49 pm

Hola Angel.
prueba de esta manera...
Code: Select all  Expand view  RUN

#include "fivewin.ch"

Function Main()
Local oDlg, oCheck, oRadio, nRadio:=1, lCheck:=.F.

  DEFINE DIALOG oDlg NAME "TEST" COLOR CLR_BLACK, CLR_WHITE
  REDEFINE CHECKBOX oCheck VAR lCheck ID 103 OF oDlg WHEN nRadio=2
  REDEFINE RADIO oRadio VAR nRadio ID 104,105 OF oDlg
  REDEFINE SAY ID 106 OF oDlg TRANSPARENT
  ACTIVATE DIALOG oDlg CENTERED
Return nil
 


El RC...
Code: Select all  Expand view  RUN

TEST DIALOG DISCARDABLE 45, 45, 339, 143
STYLE WS_POPUP|DS_MODALFRAME|WS_CAPTION|WS_VISIBLE
CAPTION "Prueba Check "
FONT 8, "Segoe UI"
{
  CONTROL "&Check 1", 103, "Button", BS_AUTOCHECKBOX|BS_FLAT|WS_TABSTOP, 15, 30,
 132, 12
  CONTROL "No &activo", 104, "Button", BS_AUTORADIOBUTTON, 189, 30, 60, 12
  CONTROL "&Activo\r\n\r\n", 105, "Button", BS_AUTORADIOBUTTON, 189, 45, 74, 12
  CONTROL "Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno
Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno Texto de relleno "
, 106, "Static", WS_GROUP, 15, 71, 283, 49
}

#ifdef __FLAT__
   1 24 "WinXP/WindowsXP.Manifest"
#endif

#ifdef __64__
   1 24 "WinXP/WindowsXP.Manifest64"
#endif
 

Saludos. Euclides
User avatar
Euclides
 
Posts: 156
Joined: Wed Mar 28, 2007 1:19 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 44 guests