COLOR EN TEXTBOX
Moderator: Rathinagiri
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
COLOR EN TEXTBOX
Hola.
Se puede cambiar el color del TEXTBOX, cuando esta activo ponerlo en Verde y cuando pasa al siguiente volverlo al color NORMAL...,
He probado con todo esto nada, como mucho con un BACKCOLOR GREEN lo puesto verde fijo.Pero es no es lo que quiero.
Gracias
[ BACKCOLOR <aBackColor> ]
[ FONTCOLOR <aFontColor> ]
[ DISABLEDBACKCOLOR <aDisabledBackColor> ]
[ DISABLEDFONTCOLOR <aDisabledFontColor> ]
Se puede cambiar el color del TEXTBOX, cuando esta activo ponerlo en Verde y cuando pasa al siguiente volverlo al color NORMAL...,
He probado con todo esto nada, como mucho con un BACKCOLOR GREEN lo puesto verde fijo.Pero es no es lo que quiero.
Gracias
[ BACKCOLOR <aBackColor> ]
[ FONTCOLOR <aFontColor> ]
[ DISABLEDBACKCOLOR <aDisabledBackColor> ]
[ DISABLEDFONTCOLOR <aDisabledFontColor> ]
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
Re: COLOR EN TEXTBOX
Trata esto...
@ <nRow>, <nCol> TEXTBOX TB_1
.
.
.
ON GOTFOCUS SetProperty( "Form_1", "TB_1", "Backcolor", RED )
ON LOSTFOCUS SetProperty( "Form_1", "TB_1", "Backcolor", GREEN )
@ <nRow>, <nCol> TEXTBOX TB_1
.
.
.
ON GOTFOCUS SetProperty( "Form_1", "TB_1", "Backcolor", RED )
ON LOSTFOCUS SetProperty( "Form_1", "TB_1", "Backcolor", GREEN )
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: COLOR EN TEXTBOX
Hola a todos..,
Hola andyglezl, eso cuesta mucho.., en cada control poner todo eso.., que agotamiento a mi llamamé gandul pero para todos esos procesos repetitivos donde este una buena ".lib"... .., asi que manos a la obra.
Aqui os paso un código práticamente depurado, hay que tener cuidado que cuando se minimiza o se pulsa un boton se pierde el foco y los colores fallan, lo suyo sería que se enviase al primer TEXTBOX y yasta!!
Otra cosa, en el primer TEXTBOX que tengamos le tenemos que asignar "BACKCOLOR" a pedal.
La forma de llamar a la funcion es desde un "ON LOSTFOCUS PINTA(Colordepedir, Colordesalir)" siendo los dos parámetros opcionales.
Yo los colores bases he puesto el GREEN y el WHITE.. , de cada uno a su gusto.
Unas cervecitas para todos y que la disfrutéis amigos..!!
Hola andyglezl, eso cuesta mucho.., en cada control poner todo eso.., que agotamiento a mi llamamé gandul pero para todos esos procesos repetitivos donde este una buena ".lib"... .., asi que manos a la obra.
Aqui os paso un código práticamente depurado, hay que tener cuidado que cuando se minimiza o se pulsa un boton se pierde el foco y los colores fallan, lo suyo sería que se enviase al primer TEXTBOX y yasta!!
Otra cosa, en el primer TEXTBOX que tengamos le tenemos que asignar "BACKCOLOR" a pedal.
La forma de llamar a la funcion es desde un "ON LOSTFOCUS PINTA(Colordepedir, Colordesalir)" siendo los dos parámetros opcionales.
Yo los colores bases he puesto el GREEN y el WHITE.. , de cada uno a su gusto.
Unas cervecitas para todos y que la disfrutéis amigos..!!
Code: Select all
/*
* HMG - Harbour Win32 GUI library Demo
*
* Copyright 2002 Roberto Lopez <mail.box.hmg@gmail.com>
* http://www.hmgforum.com//
*
* MODIFICACION PARA VARIOS LOSTFOCUS REALIZADA POR SARGANTANA.SOFT
* José Manuel Carbonell Bernabe
* SargantanaSoft@Gmail.com
* Petrer City - Alicante - Spain.
* ------------------------------------------
* 30 DE OCTUBRE DEL 2018 - AÑADIMOS COLORES.
* ------------------------------------------
* FUNCION PINTA(Color_p,Color_s)
* Forma de llamarla
* ON LOSTFOCUS PINTA(Color_p,Color_s)
* Parametros opcionales, por defecto GREEN y WHITE
* Color_p -> Color de Petición. Color de fondo cuando esta activo el textbox
* Color_s -> Color de Salida. Color de fondo cuando deje el textbox
*
* Observacion.
* Al primer TEXTOBOX le tenemos que poner nosotros el BACKCOLOR.
*/
#include "hmg.ch"
Function Main
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
TITLE 'HMG Demo' ;
MAIN
@ 10,10 TEXTBOX Text_1 VALUE 123 TOOLTIP 'Numeric TextBox' ;
NUMERIC MAXLENGTH 5 RIGHTALIGN ;
BACKCOLOR GREEN ;
ON lostfocus (Pinta(GREEN,WHITE))
@ 40,10 TEXTBOX Text_2 VALUE "123" TOOLTIP ' TextBox' ;
MAXLENGTH 5 RIGHTALIGN ;
ON lostfocus (Pinta(GREEN,WHITE))
@ 70,10 TEXTBOX Text_3 VALUE 123 TOOLTIP 'Numeric TextBox' ;
NUMERIC MAXLENGTH 5 RIGHTALIGN ;
ON lostfocus (Pinta())
@ 100,10 TEXTBOX Text_4 VALUE 123 TOOLTIP 'Numeric TextBox' ;
NUMERIC MAXLENGTH 5 RIGHTALIGN ;
ON lostfocus (Pinta())
@ 10,200 TEXTBOX Text_5 ;
VALUE ctod('01/01/2004') ;
TOOLTIP 'Date TextBox 1' ;
DATE ON lostfocus (Pinta())
@ 40,200 TEXTBOX Text_6 ;
VALUE Date() ;
TOOLTIP 'Date TextBox 2' ;
DATE ON lostfocus (Pinta())
DEFINE EDITBOX Edit_1
ROW 10
COL 350
WIDTH 120
HEIGHT 110
VALUE ""
ONLOSTFOCUS (Pinta())
END EDITBOX
DEFINE COMBOBOX Combo_1
ROW 150
COL 350
WIDTH 200
HEIGHT 100
ITEMS {"Item 1","Item 2","Item 3"}
VALUE 0
ONLOSTFOCUS (Pinta())
DISPLAYEDIT .T. // must be .T. for cuebanner
END COMBOBOX
DEFINE SPINNER Spinner_1
ROW 200
COL 350
WIDTH 200
HEIGHT 24
RANGEMIN 1
RANGEMAX 10
VALUE "" // must be "" for cuebanner
ONLOSTFOCUS (Pinta())
END SPINNER
DEFINE RICHEDITBOX RichEdit_1
ROW 330
COL 350
WIDTH 120
HEIGHT 90
VALUE ""
ONLOSTFOCUS (Pinta())
END RICHEDITBOX
@ 300, 50 BUTTON Button_1 CAPTION "Click" ACTION MsgInfo ("Hello")
@ 330, 50 BUTTON Button_2 CAPTION "Minimize" ACTION Form_1.Minimize
END WINDOW
Form_1.Center
Form_1.Text_1.Setfocus
Form_1.Activate
Return Nil
PROC Pinta(Color_P,Color_S)
LOCAL A := GetLastActiveFormIndex ()
LOCAL cWin:=""
DEFAULT Color_p:=GREEN
DEFAULT Color_s:=WHITE
IF A > 0
cWin:=(_HMG_SYSDATA [66] [A])
IF !EMPTY(GetProperty( cWin , 'FocusedControl'))
PONER_COLOR(Color_P,Color_s,cWin)
ENDIF
ENDIF
RETURN
STATIC PROC PONER_COLOR(Color_p,Color_s,cForm)
LOCAL i := GetLastActiveControlIndex ()
IF i>0
SETPROPERTY(cForm,_HMG_SYSDATA [2] [i],"BACKCOLOR", Color_s)
ENDIF
SETPROPERTY(cForm,This.focusedControl,"BACKCOLOR", Color_p)
RETURN
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
- serge_girard
- Posts: 3162
- Joined: Sun Nov 25, 2012 2:44 pm
- DBs Used: 1 MySQL - MariaDB
2 DBF - Location: Belgium
- Contact:
Re: COLOR EN TEXTBOX
Hola SALINETAS24,
After MINIMIZing and clicking on program in taskbar the color green is gone until clicking twice on a control!
Serge
After MINIMIZing and clicking on program in taskbar the color green is gone until clicking twice on a control!
Serge
There's nothing you can do that can't be done...
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: COLOR EN TEXTBOX
Hola girard,
Sería interesante que una vez maximizado, o en el TAB cuando se cambia de pestalla el setfocus lo tuviese el primer TEXTBOX, que es el que pinta BACKCOLOR.
Pero no se como hacerlo.
Lo siento...
Efectivamente, tienes razón.., ya lo he dicho yo antes. La función esta sin terminar..., por si alguno quiere continuarla. Ahora he comprobado que en los TAB tambien el color se pierde.serge_girard wrote: ↑Tue Oct 30, 2018 8:41 pm Hola SALINETAS24,
After MINIMIZing and clicking on program in taskbar the color green is gone until clicking twice on a control!
Serge
Sería interesante que una vez maximizado, o en el TAB cuando se cambia de pestalla el setfocus lo tuviese el primer TEXTBOX, que es el que pinta BACKCOLOR.
Pero no se como hacerlo.
Lo siento...
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
- serge_girard
- Posts: 3162
- Joined: Sun Nov 25, 2012 2:44 pm
- DBs Used: 1 MySQL - MariaDB
2 DBF - Location: Belgium
- Contact:
Re: COLOR EN TEXTBOX
Salietas,
I use this simple construction :
This works fine but also when minimized, focus is lost.
Serge
I use this simple construction :
Code: Select all
DEFINE TEXTBOX &X6
....
ON GOTFOCUS CHG_FOCUS('G', this.form, this.name )
ON LOSTFOCUS CHG_FOCUS('L', this.form, this.name )
END TEXTBOX
..
DEFINE TEXTBOX &X7
....
ON GOTFOCUS CHG_FOCUS('G', this.form, this.name )
ON LOSTFOCUS CHG_FOCUS('L', this.form, this.name )
END TEXTBOX
FUNCTION CHG_FOCUS(x1, tform, tname)
/***********************************/
IF x1 == 'G'
SetProperty(tform, tname, 'BackColor' , WHITE )
ELSE
SetProperty(tform, tname, 'BackColor' , GREEN )
ENDIF
RETURN
Serge
There's nothing you can do that can't be done...
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: COLOR EN TEXTBOX
Hola Serge, tienes razón. Yo queíra ahorrar código pero finalmente tengo que utilizar las dos sentencias, el ON GOTFOCUS y el ON LOSTFOCUS. Con todo y con ello he creado una función genérica para pintar, la puedes incorporar en cualquier ".prg" y llamarla desde cualquier otro.
La forma de llamarla
La función PINTA, puede recibir 3 parametros
PINTA(nOpc,ColorEntrada,ColorSalida)
nOpc -> 1 Cuando recibe el Focus. 2 Cuando pierde el Focus.
ColorEntrada -> Opcional.., el color cuando toma el focus, por defecto "verde"
ColorSalida -> Opcional.., el color cuando deja el focus, por defecto "blanco"
Saludos y unas cervecitas fresquitas....
La forma de llamarla
Code: Select all
@ 30,130 TEXTBOX Get_02 VALUE "" WIDTH 250 MAXLENGTH 35 ;
ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
@ 60,130 TEXTBOX Get_03 VALUE "" WIDTH 250 MAXLENGTH 35 ;
ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
@ 90,130 TEXTBOX Get_04 VALUE "" WIDTH 250 MAXLENGTH 35 ;
ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
PINTA(nOpc,ColorEntrada,ColorSalida)
nOpc -> 1 Cuando recibe el Focus. 2 Cuando pierde el Focus.
ColorEntrada -> Opcional.., el color cuando toma el focus, por defecto "verde"
ColorSalida -> Opcional.., el color cuando deja el focus, por defecto "blanco"
Code: Select all
//----------------------------------------------------------
//-- PINTA EL FONDO DE LOS TEXTBOX, ANTIGUOS GET
//-- Forma de llamarla
//-- PINTA(nOpc,Colordepedir, Colordesalir)
//-- nOpc -> 1 Pinta cuando entra 2 Pinta cuando sale
//-- Parametros opcionales, Colordepedir, Colordesalir
//------------------------------------------------------------
PROC Pinta(nOpc,Color_P,Color_S)
LOCAL A := GetLastActiveFormIndex ()
LOCAL i := GetLastActiveControlIndex ()
LOCAL cWin:=ThisWindow.Name
DEFAULT Color_p:=GREEN
DEFAULT Color_s:=WHITE
IF A > 0
if nOpc=1
SETPROPERTY(cWin,This.focusedControl,"BACKCOLOR", Color_p)
ELSE
SETPROPERTY(cWin,_HMG_SYSDATA [2] [i],"BACKCOLOR", Color_s)
ENDIF
ENDIF
RETURN
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
- serge_girard
- Posts: 3162
- Joined: Sun Nov 25, 2012 2:44 pm
- DBs Used: 1 MySQL - MariaDB
2 DBF - Location: Belgium
- Contact:
- mustafa
- Posts: 1158
- Joined: Fri Mar 20, 2009 11:38 am
- DBs Used: DBF
- Location: Alicante - Spain
- Contact:
Re: COLOR EN TEXTBOX
Che !!! que Boooooooooo !!!
Si le cambias en PROC Pinta -> el Blanco " White" DEFAULT Color_s:=WHITE
por ejemplo DEFAULT Color_s:= { 208,098,120 } <--- que es un color salmón
Queda De "Categoría Internacional"
Una abrasada
Mustafa
Si le cambias en PROC Pinta -> el Blanco " White" DEFAULT Color_s:=WHITE
por ejemplo DEFAULT Color_s:= { 208,098,120 } <--- que es un color salmón
Queda De "Categoría Internacional"
Una abrasada
Mustafa
- serge_girard
- Posts: 3162
- Joined: Sun Nov 25, 2012 2:44 pm
- DBs Used: 1 MySQL - MariaDB
2 DBF - Location: Belgium
- Contact:
Re: COLOR EN TEXTBOX
Prefiero una copa de vino tinto !Saludos y unas cervecitas fresquitas....
Serge
There's nothing you can do that can't be done...