Page 1 of 1

problema con checkbox en folderex

PostPosted: Thu Apr 28, 2022 5:53 pm
by carlos vargas
Estimados, necesito de su ayuda, tengo un problema el cual he aislado en el ejemplo adjunto,
el caso es que el label del get numero 4, el cual dice "Edad", cuando se ingresa un dato en el primer get, el checkbox ("Prueba de checkbox") al refrescar su valor (el when que se ejecuta)
cambia su tamaño, y borra el texto inicialmente dicho (Edad). esto solo sucede cuando esta activado los theme, si se comenta en el rc la ultima linea, se muestra bien.

carlos.prg
Code: Select all  Expand view

#include "Fivewin.ch"

FUNCTION MAIN()

    LOCAL oDlg, oFld
    LOCAL nV1, cV2, lV3, nV4

    nV1 := 0
    cV2 := space(50)
    lV3 := .t.
    nV4 := 0
   
    DEFINE DIALOG oDlg;
           RESOURCE "FOLDER"

    REDEFINE FOLDEREX oFld;
             ID 101 OF oDlg;
             PROMPTS "Test";
             DIALOGS "TEST"

    REDEFINE GET nV1;
       ID 101 OF oFld:aDialogs[ 1 ];
       PICTURE "9999"

    REDEFINE GET cV2;
       ID 102 OF oFld:aDialogs[ 1 ];
       WHEN nV1 > 0;
       PICTURE "@!"

    REDEFINE CHECKBOX lV3;
       ID 103 OF oFld:aDialogs[ 1 ];
       WHEN nV1 > 0

    REDEFINE GET nV4;
       ID 104 OF oFld:aDialogs[ 1 ];
       WHEN nV1 > 0;
       PICTURE "99"

    REDEFINE BTNBMP;
             ID 102 OF oDlg;
             FILE "\fwh\bitmaps\open.bmp";
             NOBORDER

    REDEFINE BUTTON;
             ID 201 OF oDlg;
             ACTION oDlg:End()

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL
 


Code: Select all  Expand view

// Generated by ResEdit 1.6.6
// Copyright (C) 2006-2015
// http://www.resedit.net

#include <windows.h>

#ifndef WC_TABCONTROL
#define WC_TABCONTROL   "SysTabControl32"
#endif

#ifndef MONTHCAL_CLASS
#define MONTHCAL_CLASS  "SysMonthCal32"
#endif

#ifndef DATETIMEPICK_CLASS
#define DATETIMEPICK_CLASS "SysDateTimePick32"
#endif

#ifndef VOS__WINDOWS32
#define VOS__WINDOWS32          0x00000004L
#endif

#ifndef VFT_APP
#define VFT_APP                 0x00000001L
#endif

#ifndef VFT2_UNKNOWN
#define VFT2_UNKNOWN            0x00000000L
#endif

#ifndef WC_STATIC
#define WC_STATIC  "Static"
#endif

#include "resource.h"




//
// Dialog resources
//
FOLDER DIALOG 49, 52, 365, 295
STYLE DS_MODALFRAME | DS_SETFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
CAPTION "Folder test"
FONT 8, "MS Sans Serif"
{
    CONTROL         "", 101, "TFolderex", 0x50020000, 7, 7, 264, 152, 0x00000000
    PUSHBUTTON      "&Close", 201, 5, 275, 40, 15, 0, WS_EX_LEFT
    CONTROL         "", 102, "TBtnBmp", 0x50000000, 280, 5, 30, 25, 0x00000000
}



TEST DIALOG 49, 52, 365, 295
STYLE DS_SETFONT | WS_CHILDWINDOW
FONT 8, "MS Sans Serif"
{
    EDITTEXT        101, 47, 11, 40, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    EDITTEXT        102, 47, 31, 164, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    AUTOCHECKBOX    "Prueba de checkbox", 103, 47, 55, 82, 8, 0, WS_EX_LEFT
    EDITTEXT        104, 171, 51, 40, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    LTEXT           "Edad", -1, 146, 53, 18, 9, SS_LEFT, WS_EX_LEFT
    LTEXT           "Codigo", -1, 11, 11, 23, 9, SS_LEFT, WS_EX_LEFT
    LTEXT           "Nombre", -1, 11, 31, 26, 9, SS_LEFT, WS_EX_LEFT
}



//
// Manifest resources
//
1                  RT_MANIFEST    ".\\manifest.xml"

 

Re: problema con checkbox en folderex

PostPosted: Thu Apr 28, 2022 6:17 pm
by karinha
Aca, funciona bien estimado.

Borre esto:

Code: Select all  Expand view

//
// Manifest resources
//
// 1                  RT_MANIFEST    ".\\manifest.xml"
 


Regards, saludos.

Re: problema con checkbox en folderex

PostPosted: Thu Apr 28, 2022 6:50 pm
by carlos vargas
sip,
...esto solo sucede cuando esta activado los theme...

sin temas funciona bien, con temas no, ese es el punto.

Re: problema con checkbox en folderex

PostPosted: Thu Apr 28, 2022 7:39 pm
by karinha
Normal con Manifest.

Carlos.rc

Code: Select all  Expand view

// Generated by ResEdit 1.6.6
// Copyright (C) 2006-2015
// http://www.resedit.net

#include <windows.h>

#ifndef WC_TABCONTROL
#define WC_TABCONTROL   "SysTabControl32"
#endif

#ifndef MONTHCAL_CLASS
#define MONTHCAL_CLASS  "SysMonthCal32"
#endif

#ifndef DATETIMEPICK_CLASS
#define DATETIMEPICK_CLASS "SysDateTimePick32"
#endif

#ifndef VOS__WINDOWS32
#define VOS__WINDOWS32          0x00000004L
#endif

#ifndef VFT_APP
#define VFT_APP                 0x00000001L
#endif

#ifndef VFT2_UNKNOWN
#define VFT2_UNKNOWN            0x00000000L
#endif

#ifndef WC_STATIC
#define WC_STATIC  "Static"
#endif

//
// Dialog resources
//
FOLDER DIALOG 49, 52, 365, 295
STYLE DS_MODALFRAME | DS_SETFONT | WS_CAPTION | WS_POPUP | WS_SYSMENU
CAPTION "Folder test"
FONT 8, "MS Sans Serif"
{
    CONTROL         "", 101, "TFolderex", 0x50020000, 7, 7, 264, 152, 0x00000000
    PUSHBUTTON      "&Close", 201, 5, 275, 40, 15, 0, WS_EX_LEFT
    CONTROL         "", 102, "TBtnBmp", 0x50000000, 280, 5, 30, 25, 0x00000000
}



TEST DIALOG 49, 52, 365, 295
STYLE DS_SETFONT | WS_CHILDWINDOW
FONT 8, "MS Sans Serif"
{
    EDITTEXT        101, 47, 11, 40, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    EDITTEXT        102, 47, 31, 164, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    AUTOCHECKBOX    "Prueba de checkbox", 103, 47, 55, 82, 8, 0, WS_EX_LEFT
    EDITTEXT        104, 171, 51, 40, 14, ES_AUTOHSCROLL, WS_EX_LEFT
    LTEXT           "Edad", -1, 146, 53, 18, 9, SS_LEFT, WS_EX_LEFT
    LTEXT           "Codigo", -1, 11, 11, 23, 9, SS_LEFT, WS_EX_LEFT
    LTEXT           "Nombre", -1, 11, 31, 26, 9, SS_LEFT, WS_EX_LEFT
}


#ifndef __64__
  1 24 "C:\FWH1905\SAMPLES\WINXP\WindowsXP.Manifest"
#endif

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


//
// Manifest resources
//
// 1                  RT_MANIFEST    ".\\manifest.xml"
 


Regards, saludos.

Re: problema con checkbox en folderex

PostPosted: Thu Apr 28, 2022 9:31 pm
by carlos vargas
puedes enviarme el ejecutable que has construido? por favor!
karlos dot vargas at gmail dot com

Re: problema con checkbox en folderex

PostPosted: Fri Apr 29, 2022 3:39 am
by Antonio Linares
Carlos,

Puedes mostrar una imagen de cómo se ve ?

gracias

Re: problema con checkbox en folderex

PostPosted: Fri Apr 29, 2022 3:57 pm
by karinha
Carlos, realmente hay un problema. Intenta con el WorkShop.exe ó PellesC.exe, porfa.

Regards, saludos.

Re: problema con checkbox en folderex

PostPosted: Fri Apr 29, 2022 4:00 pm
by carlos vargas
Antonio como puedes ver, el checkbox esta en la misma posicion vertical que el say y get de la edad.
al ejecutarse el when se refresca el checkbox y es ahi como que su ancho varia cubriendo el say 'Edad'
Image
Image

Re: problema con checkbox en folderex

PostPosted: Fri Apr 29, 2022 4:02 pm
by carlos vargas
Image
Image

Re: problema con checkbox en folderex

PostPosted: Fri Apr 29, 2022 4:03 pm
by carlos vargas
Esto sin theme no ocurro (trabaja bien), asi mismo si cambiamos el folderex por el folder de toda la vida funciona bien. (con y sin themas)

Re: problema con checkbox en folderex

PostPosted: Sat Apr 30, 2022 4:28 pm
by Antonio Linares
Carlos,

Ese borde "hundido" que se aprecia a que se debe ?

Puedes proporcionar un PRG de ejemplo para probarlo ?

Que control es el que oculta al SAY que hay a continuación ?

Re: problema con checkbox en folderex

PostPosted: Sat Apr 30, 2022 8:19 pm
by JoseAlvarez
Hola Carlos, Saludos.

Hace unos meses, tuve un problema similar, pero con radio button.

Investigando, consegui que añadiendo esta funcion en cualquier prg, se arregla el problema.
Ni siquiera hace falta llamarla, solo la puse y listo.

Code: Select all  Expand view
//----------------------------------------------------------------------------//
Function IsAppThemed()
                         // esta funcion es para evitar que si tengo dos radio buttons pegados en la misma fila de un formulario
                         // no se borre el de la derecha al hacer un refresh() del primero
                         
Return .F.
//----------------------------------------------------------------------------//
 


Quizas te ayude en tu caso.

Un abrazo.

Re: problema con checkbox en folderex

PostPosted: Sat Apr 30, 2022 9:21 pm
by carlos vargas
Ese borde es por qué adicione un
style (Edge o algo así no recuerdo en este. Momento)al control para ver si su tamaño
Ccambia al refrescarse, no es relevante, al inicio no lo puse.