Page 1 of 1
Boton disabled
Posted: Thu Feb 21, 2013 11:04 am
by Agustin
En una aplicación compilada hace 5 años con Harbour y Minigui de la época , la imagen del button disabled aparece en gris, que es lo correcto. Compilada con HMG actual la imagen queda con su color. Imagino que algo cambió.
Alguna ayuda
Re: Boton disabled
Posted: Thu Feb 21, 2013 12:18 pm
by danielmaximiliano
Hola Agustin :
Los controles se puede desactivar mediante el siguiente codigo
Code: Select all
SetProperty( 'Windowname' , 'Crontrolname' , 'Enabled' , .F. )
o como dice la guia de referencia que esta incluida en HMG.3.1.1
Code: Select all
Enabled Property
Set / Gets enabled state of a control
Syntax:
<WindowName>.<ControlName>.Enabled := lEnabledState
<WindowName>.<ControlName>.Enabled --> lEnabledState
El control queda gris para mostrar su inactividad.
No se realemente cual será tu consulta real; si tienes inconveniente publica un fragmento en formato demo para probar ese codigo
y ver si falla.
recuerda que estamos con HMG.3.1.1
Re: Boton disabled
Posted: Thu Feb 21, 2013 2:18 pm
by Agustin
Hoña Daniel.
El código que adjunto es para inhabilitar los botones de navegación en función de la posición del puntero en la tabla.
El boton disabled se deshabilita cuando corresponde, pero su imagen ( una flecha ) queda de color ( azul en este caso) en vez de cambiar a gris, que hace mas gráfico el disabled. La aplicación anterior así lo hace, pero no lo hace compilada con HMG 3.1.1.
Si necesitas más código lo publico.
Gracias por tu ayuda y un saludo.
STATIC FUNCTION Navega( cForm , cAlias )
/////////////////////////////////////////////////////////////////////
LOCAL lIzquierda := .T.
LOCAL lDerecha := .T.
// Esto impide el error si cerramos esta ventana directamente con la lista abierta
IF ! _IsControlDefined( "anterior" , cForm )
RETURN nil
ENDIF
IF ( cAlias )->( BOF() )
lIzquierda := .F.
ELSE
( cAlias )->( DbSkip( -1 ) )
IF (cAlias)->(BOF())
lIzquierda := .F.
ELSE
( cAlias )->( DBSkip() )
END IF
END IF
IF ( cAlias )->( EOF() )
lDerecha := .F.
ELSE
( cAlias )->( DbSkip( ) )
IF ( cAlias )->( EOF() )
lDerecha := .F.
END IF
( cAlias )->( DBSkip( -1 ) )
END IF
SetProperty ( cForm , "anterior" , "enabled" , lIzquierda )
SetProperty ( cForm , "primero" , "enabled" , lIzquierda )
SetProperty ( cForm , "Siguiente" , "enabled" , lDerecha )
SetProperty ( cForm , "ultimo" , "enabled" , lDerecha )
RETURN nil
Re: Boton disabled
Posted: Thu Feb 21, 2013 2:42 pm
by danielmaximiliano
Estas utilizando HMG.3.1.1 Unicode ???
en este caso prueba modificar
C:\hmg.3.1.1\SOURCE\SET_COMPILE_HMG_UNICODE.ch
Code: Select all
/*
If defined COMPILE_HMG_UNICODE ---> HMG is compiled for UNICODE
If NOT defined COMPILE_HMG_UNICODE ---> HMG is compiled for ANSI
*/
#define COMPILE_HMG_UNICODE
por este otro
Code: Select all
/*
If defined COMPILE_HMG_UNICODE ---> HMG is compiled for UNICODE
If NOT defined COMPILE_HMG_UNICODE ---> HMG is compiled for ANSI
*/
//#define COMPILE_HMG_UNICODE
recompila las librerias de HMG.3.1.1 con
buildlib.bat que esta localizado en
c:\HMG.3.1.1
compila de nuevo tu aplicacion y miras si funciona. hace dias Claudio Soto dijo que iba a revisas que pasaba con los
controles Textbox con Unicode; pasaron varios dias ya porque esta de viaje.
Re: Boton disabled
Posted: Thu Feb 21, 2013 2:57 pm
by Pablo César
Yo tuve una experiencia similar con BCleaner y la solución que le di fué grabar las imagenes en blanco y negro através de un editor de imagenes (
http://www.gimp.org/), utilizando Herramientas de colores/Desaturar. Y cuando cambiaba las propiedades de componente, tambien cambiaba el archivo de imagen.
Re: Boton disabled
Posted: Thu Feb 21, 2013 3:02 pm
by Agustin
Estas utilizando HMG.3.1.1 Unicode ??? No lo se.Como se averigua ?
Los dos códigos que me envías me parecen iguales ¿ No ?
Gracias y un saludo
Re: Boton disabled
Posted: Thu Feb 21, 2013 3:36 pm
by Agustin
Perdona Daniel. ni vi las dos barras //.
Muchas gracias porque así funciona perfectamente.
Un saludo
Re: Boton disabled
Posted: Thu Feb 21, 2013 3:40 pm
by danielmaximiliano
Agustin wrote:Perdona Daniel. ni vi las dos barras //.
Muchas gracias porque así funciona perfectamente.
Un saludo
Tuve problemas con los TextBox, funcionan erraticamente a veces toma el valor mediante
SetProperty, otras veces no..
repase el foro y vi que Claudio Soto lo daba con una solucion temporal.