COLOR EN TEXTBOX

HMG en Español

Moderator: Rathinagiri

User avatar
apais
Posts: 309
Joined: Fri Aug 01, 2008 6:03 pm
Location: uruguay
Has thanked: 50 times
Been thanked: 28 times
Contact:

Re: COLOR EN TEXTBOX

Post by apais » Thu Nov 01, 2018 5:29 pm

Prefiero una copa de vino tinto !
I'm in !

User avatar
mustafa
Posts: 836
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Been thanked: 120 times
Contact:

Post by mustafa » Thu Nov 01, 2018 7:03 pm

Hi Serge
Où es-tu ?
Bruges, Anvers, Waterloo ...?
Bonne bière
salutations

User avatar
serge_girard
Posts: 2342
Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB
2 DBF
Location: Belgium
Has thanked: 589 times
Been thanked: 124 times
Contact:

Post by serge_girard » Thu Nov 01, 2018 8:07 pm

Bonjour Mustafa,

Je suis de pres d'Anvers. Et toi? Alicante!
Oui, on a des tres bonne sbières!

Serge

franco
Posts: 339
Joined: Sat Nov 02, 2013 5:42 am
DBs Used: DBF
Been thanked: 11 times

Post by franco » Thu Nov 01, 2018 9:24 pm

Scotch also good.....
Franco Bushie
Canada

User avatar
SALINETAS24
Posts: 337
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 19 times
Been thanked: 24 times

Post by SALINETAS24 » Fri Nov 02, 2018 7:48 pm

Hola a todos..., no hay problema, como dice la letra de una canción de mi amigo Manolo Escobar.., VIVA EL VINO Y LAS MUJERES.... :lol:

Y para rematar la fiesta de Todos los Santos, aquí os paso una función. Un calendario mensual.
El otro día me di cuenta que algunas funciones dependiendo de la versión de WINDOWS que tenga el usuario tienen un comportamiento o una visualización distinta, una de ellas es MONTHCALENDAR, que nos obliga a realizar ajustes en nuestro ".PRG" y a mi eso me jode.
Así que aquí os paso una función ya finiquitada.., a falta de que el amigo MUSTAFA le de lustre y le ponga colores solo él sabe, o algún icono como Dios manda..., los mios son los más feos del mundo.., jajaja.

He tomado como base un PRG que tenemos en SAMPLES y que ya en alguna ocasión he posteado.

Un abrazo a todos y venga con esas cervecitas fresquitas.., jajajaj

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 LOSTFOCU REALIZADA POR SARGANTANA.SOFT
 * José Manuel Carbonell Bernabe
 * SargantanaSoft@Gmail.com
 * Petrer City - Alicante - Spain.
 * ------------------------------------------
 * 30 DE OCTUBRE DEL 2018 - AÑADIMOS COLORES.
 * ------------------------------------------
 * ----------------------------------------------------------
 * PINTA EL FONDO DE LOS TEXTBOX, ANTIGUOS GET
 * PINTA (nOpc,cColor1,cColor2)
 * Forma de llamarla 
 * ON LOSTFOCUS PINTA(1,Colordepedir, Colordesalir)
 * ON GOYFOCUS PINTA(2,Colordepedir, Colordesalir)
 * nOpc -> 1 Pinta cuendo entra 2 Pinta cuando sale
 * Parametros opcionales, Colordepedir, Colordesalir
 * ------------------------------------------------------------
 * ------------------------------------------
 * 02 DE NOVIEMBRE DEL 2018 - AÑADIMOS UN CALENDARIO MES
 * ------------------------------------------
 * Esta función la he realizado al darme cuenta que la función MONTHCALENDAR cambia
 * de apariencia dependiendo de la versión de WINDOW que estemos utilizando y teniendo 
 * que ajustar nuestros ".PRG" porque al Billy Puertas le de la gana.
 * ------------------------------------------------------------
 * --> Calendari(Ventana,nFil,ncol,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
 * --> PARAMETROS 
 * --> Ventana 		-> Window propietaria 
 * --> nFil, nCol	-> Fila y Columna donde mostraremos el calendario
 * --> PARAMETROS OPCIONALES
 * --> dFecha 		-> Opcional DATE()
 * --> cColorNoMes	-> Opcional, color del mes pasado o mes siguiente.
 * --> cColorMes		-> Opcional, color del mes de la fecha
 * --> cColorDia		-> Opcional, color del día
 * --> cColorDom		-> Opcional, color del Domingo
 * ----------------------------------------------------------------------------
 * 02 DE NOVIEMBRE DEL 2018 - AÑADIMOS ZEROS A UN NUMERO TRASFORMADO EN CADENA
 * ------------------------------------------
 * --> Transforma un numero en una cadena y rellena con ceros
 * --> cStrZero( <nNum>, [<nLen>] )
 * --> Parametros  <nNum> es el número a transformar en cadena.
 * --> 				<nLen> longitud máxima
 * --> Return  Número a cadena relleno de ceros
*/

#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 GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)

		@ 40,10 TEXTBOX Text_2 	VALUE "123" TOOLTIP ' TextBox' ;
			MAXLENGTH 5 RIGHTALIGN ;
			 ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)

		@ 70,10 TEXTBOX Text_3 VALUE 123 TOOLTIP 'Numeric TextBox' ;
			NUMERIC MAXLENGTH 5 RIGHTALIGN ;
			 ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
			
		@ 100,10 TEXTBOX Text_4  VALUE 123 TOOLTIP 'Numeric TextBox' ;
			NUMERIC MAXLENGTH 5 RIGHTALIGN ;
			 ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
			
		@ 10,200 TEXTBOX Text_5 ;
			VALUE ctod('01/01/2004') ;
			TOOLTIP 'Date TextBox 1' ;
			DATE  ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2)
		@ 40,200 TEXTBOX Text_6 ;
			VALUE Date() ;
			TOOLTIP 'Date TextBox 2' ;
			DATE  ON GOTFOCUS PINTA( 1) ON LOSTFOCUS PINTA( 2) 
			
	CALENDARI("Form_1",240,350)		
			
	DEFINE EDITBOX Edit_1
        ROW    10
        COL    350
        WIDTH  120
        HEIGHT 110
        VALUE ""
		ONGOTFOCUS PINTA( 1) 
		ONLOSTFOCUS PINTA( 2)	 
    END EDITBOX

    DEFINE COMBOBOX Combo_1
        ROW    150
        COL    350
        WIDTH  200
        HEIGHT 100
        ITEMS {"Item 1","Item 2","Item 3"}
        VALUE 0
		ONGOTFOCUS PINTA( 1) 
		ONLOSTFOCUS PINTA( 2)	 
      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
		ONGOTFOCUS PINTA( 1) 
		ONLOSTFOCUS PINTA( 2)	 
    END SPINNER

    DEFINE RICHEDITBOX RichEdit_1
        ROW    330
        COL    175
        WIDTH  120
        HEIGHT 90
        VALUE ""
		ONGOTFOCUS PINTA( 1) 
		ONLOSTFOCUS PINTA( 2)	 
    END RICHEDITBOX	
			
		
		@ 350, 10 BUTTON Button_1 CAPTION "Click" ACTION MsgInfo ("Hello")
		@ 400, 10 BUTTON Button_2 CAPTION "Minimize" ACTION Form_1.Minimize

	END WINDOW

	Form_1.Center
	Form_1.Text_1.Setfocus
	Form_1.Activate

Return Nil

//----------------------------------------------------------
//-- PINTA EL FONDO DE LOS TEXTBOX, ANTIGUOS GET
//-- Forma de llamarla
//-- ON LOSTFOCUS PINTA(nOpc,Colordepedir, Colordesalir)
//-- nOpc -> 1 Pinta cuendo 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:=COLOR_LightBlue
	DEFAULT Color_s:=WHITE
	IF A > 0
*	cWin:=(_HMG_SYSDATA [66] [A])
*		IF !EMPTY(GetProperty( cWin , 'FocusedControl'))
			if nOpc=1
				SETPROPERTY(cWin,This.focusedControl,"BACKCOLOR", Color_p)
			ELSE
				SETPROPERTY(cWin,_HMG_SYSDATA [2] [i],"BACKCOLOR", Color_s)
			ENDIF
*		ENDIF
	ENDIF
RETURN

//-------------------------------------------------------------
//-------------------------------------------------------------
// --> FUNCION GENERICA PARA MOSTRAR UN CALENDARIO OPERATIVO
//-------------------------------------------------------------
//--> Calendari(Ventana,nFil,ncol,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
//--> PARAMETROS 
//--> Ventana 		-> Window propietaria 
//--> nFil, nCol	-> Fila y Columna donde mostraremos el calendario
//--> PARAMETROS OPCIONALES
//--> dFecha 		-> Opcional DATE()
//--> cColorNoMes	-> Opcional, color del mes pasado o mes siguiente.
//--> cColorMes		-> Opcional, color del mes de la fecha
//--> cColorDia		-> Opcional, color del día
//--> cColorDom		-> Opcional, color del Domingo

PROC Calendari(Ventana,nFil,ncol,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
	LOCAL nWeek,nDay,cTB
	LOCAL aDia:={"Lu","Ma","Mi","Ju","Vi","Sa","Do"}
	DEFAULT nFil:=nCol:=1
	DEFAULT dFecha:=DATE()
	DEFAULT cColorNomes:=GRAY
	DEFAULT cColorMes:=BLUE
	DEFAULT ccolorDia:=BLACK
	DEFAULT cColorDom:=RED

	@ nFil,ncol LABEL LBTras VALUE "<<" WIDTH 30 CENTERALIGN  BOLD;
			ACTION (Restames(@dFecha),	Carga_cal(Ventana,dFEcha,cColorNoMes,cColorMes,cColorDia,cColorDom))
			
	@ nFIL,ncol+50 LABEL Fecha1 VALUE dFecha WIDTH 70 FONTCOLOR BLUE CENTERALIGN 
	
	@ nFil,ncol+140 LABEL LBAdel VALUE ">>" WIDTH 30 CENTERALIGN BOLD ;
			ACTION (dFecha:=Sumames(dFecha),	Carga_cal(Ventana,dFEcha,cColorNoMes,cColorMes,cColorDia,cColorDom))

	nFil += 60
	FOR nWeek = 1 to 6
		FOR nDay = 1 to 7
			// --> Pongo los nombres de los dias de la semana
			IF nWeek=1
				cTb="cTbd_"+cStrZero(nWeek,1)+cStrZero(nDay,1)
				@ nFil-30,nCol+(25*(nDay-1)) LABEL &cTb CENTERALIGN VALUE aDia[nDay] WIDTH 20 
			ENDIF
			// --> Por los dias	del mes
			cTb="cTb_"+cStrZero(nWeek,1)+cStrZero(nDay,1)
			@ nFil+(20*(nWeek-1)) , nCol+(25*(nDay-1)) LABEL &cTb CENTERALIGN TRANSPARENT VALUE " " WIDTH 20 ;
					ACTION Cambia_dia(Ventana,This.Value,@dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
		NEXT
	NEXT

	@ nFil+(20*(nWeek-1)) ,ncol+50 LABEL dhoy VALUE " HOY " WIDTH 70 FONTCOLOR BLUE CENTERALIGN ;
		ACTION (dFecha:=DATE(),	Carga_cal(Ventana,dFEcha,cColorNoMes,cColorMes,cColorDia,cColorDom))
	
	CARGA_CAL(Ventana,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
RETURN

STATIC PROC CARGA_CAL(Ventana,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
	LOCAL cTB
	LOCAL dBoM, dStart
	LOCAL nWeek, nDay
*	LOCAL cWin:=ThisWindow.Name
	DEFAULT dFecha:=DATE()

	dBoM   = dFecha - Day( dFecha ) + 1
	dStart = If( DoW( dBoM ) != 1, dBoM - DoW( dBoM ) + 2, dBoM - 6 )
	
	SETPROPERTY(Ventana,"Fecha1","Value",dFecha)
	
	FOR nWeek = 1 to 6
		FOR nDay = 1 to 7
			cTb="cTb_"+cStrZero(nWeek,1)+cStrZero(nDay,1)
			SETPROPERTY(Ventana,cTb,"Value",cStrZero(Day( dStart ),2) )
			SETPROPERTY(Ventana,cTb,"BACKCOLOR",WHITE)
			SETPROPERTY(Ventana,cTb,"FONTCOLOR",IF( Month( dStart ) == Month( dFecha ),If( dStart == dFecha, cColorDia, cColorMes ), cColorNomes ) )
			IF nDay = 7 .AND. Month( dStart ) == Month( dFecha ) .AND. dStart!=dFecha  //--> DOMINGOOOOL
				SETPROPERTY(Ventana,ctb,"FONTCOLOR",cColorDom)
			ENDIF
			IF dStart!=dFecha 
				SETPROPERTY(Ventana,cTb,"TRANSPARENT",.F.)
				SETPROPERTY(Ventana,cTb,"BACKCOLOR",YELLOW)
			ENDIF
			dStart++
		NEXT
	NEXT    
RETURN
//------------------------------------------------------------------------------------
STATIC PROC Cambia_DIA(Ventana,cDia,dFecha,cColorNoMes,cColorMes,cColorDia,cColorDom)
	local dBoM, dStart, nDif
	LOCAL i  := GetLastActiveControlIndex ()
	LOCAL aColor

	dBoM   = dFecha - Day( dFecha ) + 1
	dStart = If( DoW( dBoM ) != 1, dBoM - DoW( dBoM ) + 2, dBoM - 6 )
	
	// --> Compruebo si he tocado el mes anterior o el siguiente
	aColor:=GETPROPERTY(Ventana,_HMG_SYSDATA [2] [i],"FONTCOLOR")

	IF aColor[1]=cColorNoMes[1] .AND. aColor[2]=cColorNomes[2] .AND. aColor[3]=cColorNomes[3] 
		IF VAL(cDia) > 20  
			dFecha:=RestaMes(dFecha)
		  ELSE
			dFecha:=Sumames(dFecha)
		ENDIF
	ENDIF
	// --> Voy a poner el dia que corresponde
	IF VAL(cDia) > DAY(dFecha)
		nDif=VAL(cDia)-DAY(dFecha)
		dFecha=dFecha+nDif
	   ELSE
	    nDif=DAY(dFecha)-VAL(cDia)
		dFecha=dFecha-nDif
	ENDIF
	
	Carga_cal(Ventana,dFEcha,cColorNoMes,cColorMes,cColorDia,cColorDom)
	
RETURN
// ----------------------------------------------------------------------------
static function SumaMes( dFecha )

   local dTemp  := dFecha
   local nMonth := Month( dFecha )

   while Month( dTemp++ ) == nMonth
   enddo

return --dTemp + Day( dFecha ) - 1
// ----------------------------------------------------------------------------
static function RestaMes( dFecha )

   local nDay := Day( dFecha )

   dFecha -= Day( dFecha )
   dFecha -= Day( dFecha )

return dFecha + nDay
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// --> Transforma un numero en una cadena y rellena con ceros
// --> cStrZero( <nNum>, [<nLen>] )
// --> Parameteros  <nNum> es el número a transformar en cadena.
// --> 				<nLen> longitud máxima
// --> Return  Número a cadena relleno de ceros
FUNCTION cStrZero( nNum, nLen )

   local cSal, nSigno, nDe
   IF nNum < 0
      nSigno = - 1
      nNum = nNum * -1
     ELSE
      nSigno = 1
   ENDIF
   
   nDe=AT(".",STR(nNum))
   IF nDe!=0
      nDe=LEN(STR(nNum))-nDe
   ENDIF
   
   if nLen == nil
      cSal = StrTran( Str( nNum ), " ", "0" )
   else
      cSal = StrTran( Str( nNum, nLen, nDe ), " ", "0" )
   endif
   IF nSigno=-1
      cSal = "-"+SUBSTR(cSal,2)
   ENDIF


return cSal



User avatar
mustafa
Posts: 836
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Been thanked: 120 times
Contact:

Post by mustafa » Sat Nov 03, 2018 5:02 pm

Hola amigos:
He intentado poner un poco de color al magnifico Calendario del amigo SALINETAS24
En el tema de las flecha" Previus y Next no consigo sincronía con el Calendario
la Funcion Proxima_Fecha() yo la tenia sincronizada con MONTHCALENDAR que le cargaba
en ONCHANGE Proxima_Fecha() y quedaba sincronizado el avance de la hoja del día.

Si hay algún sabio ! , que pueda continuar queda muy guapo.
Saludos Mustafa :D :lol:

*----------------------------------------------------------------------------------------*
and as Shakespeare would say ...

Hello friends:
I tried to put a little color to the great calendar of the friend SALINETAS24

In the theme of the arrow "Previus and Next I can not synchronize with the Calendar
the Function Proxima_Fecha() I had it synchronized with MONTHCALENDAR that was loading
in ONCHANGE Proxima_Fecha() and the advance of the day's sheet was synchronized.

If there is any wise! , that can continue is very handsome.
Greetings Mustafa
Attachments
Calendari_Demo.zip
(972.91 KiB) Downloaded 35 times
Pantallazo.jpg
Pantallazo.jpg (59.78 KiB) Viewed 476 times

User avatar
SALINETAS24
Posts: 337
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 19 times
Been thanked: 24 times

Post by SALINETAS24 » Sat Nov 03, 2018 7:21 pm

Hola a todos y muchas gracias como siempre. :oops:

Mustafa.., una magnifica aportación, increible. Yo creo que tengo el peor gusto del mundo para poner colores.., y que eso unido a la calidad de mis iconos :lol:

Bueno amigos, aquí os paso de nuevo el ".prg" una vez ajustados todos los controles y sincronizados.
Una cosa.., yo cuando llamo a una función paso las variable que uso como parámetros y me evito confusiones. Eso es una de las modificaciones que he realizado.
Un abrazo.., y marchando una cervecita bien fresquita..
Attachments
calendari.rar
CALENDARIO AJUSTADO
(2.22 MiB) Downloaded 41 times

User avatar
SALINETAS24
Posts: 337
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 19 times
Been thanked: 24 times

Post by SALINETAS24 » Thu Oct 10, 2019 5:57 pm

Saludos a todos.
Seguimos pintando TextBox y Label
He realizado una pequeña modicación que puede hacer más agradable la navegacion por una entrada de datos, ya que permite no solo cambiar de color el TEXTBOX, también permite hacerlo con el LABEL.
Solo una cosa, los TEXTBOX serán GET_nn (siendo nn el numero de orden) y en el caso de los LABEL SAY_nn siendo nn el número de orden que coincidiran...., una gracia en honor al nuestro viejo CLIPPER. Tu puedes cambiarlo.
Gracias y vamos con otra cervecita..!!

Code: Select all

*
 * (c) by Sarganta Soft Corp. Petrer City (Alicante) - ESPAÑA
 * José Manuel Carbonell
 * email : SargantanaSoft@gmail.com
 *
 * Pinta(1) PARA ENTRAR
 * Pinta(2) PARA SALIR
 * 
 * MODIFICACION PARA PINTAR LOS TEXTBOX Y LOS LABEL
 * PARA UN CORRECTO FUNCIONAMIENTO EL TEXTBOX SERA GET_nn y el LABEL GET_nn
 *
*/

#include "hmg.ch"

Function Main
Local aRows [20] [3]
LOCAL nIdioma:=1
LOCAL sFont:="Arial"
LOCAL sSize:=10
LOCAL gFont:="Arial"
LOCAL gSize:=10

	aRows [1]	:= {'Simpson','Homer','555-5555'}
	aRows [2]	:= {'Mulder','Fox','324-6432'} 
	aRows [3]	:= {'Smart','Max','432-5892'} 
	aRows [4]	:= {'Grillo','Pepe','894-2332'} 
	aRows [5]	:= {'Kirk','James','346-9873'} 

	DEFINE WINDOW Form_1 ;
		AT 0,0 ;
		WIDTH 640 HEIGHT 480 ;
		TITLE 'HMG Demo' ;
		MAIN 

		DEFINE MAIN MENU
			DEFINE POPUP 'Test'
				MENUITEM 'Get Button Caption' ACTION MsgInfo ( Form_1.Tab_1(1).Button_1.Caption ) 
				MENUITEM 'Set Button Caption' ACTION Form_1.Tab_1(1).Button_1.Caption := 'New'
				SEPARATOR
				MENUITEM 'Get Grid Header' ACTION MsgInfo ( Form_1.Tab_1(4).Grid_1.Header(1) ) 
				MENUITEM 'Set Grid Header' ACTION Form_1.Tab_1(4).Grid_1.Header(1) := 'New'
				SEPARATOR
				MENUITEM 'Set Grid Cell' ACTION Form_1.Tab_1(4).Grid_1.Cell(1,1) := 'New'
				MENUITEM 'Get Grid Cell' ACTION MsgInfo ( Form_1.Tab_1(4).Grid_1.Cell(1,1) )
				SEPARATOR
				MENUITEM 'Show Button' ACTION Form_1.Tab_1(1).Button_1.Show()
				MENUITEM 'Hide Button' ACTION Form_1.Tab_1(1).Button_1.Hide()
			END POPUP
		END MENU

		DEFINE TAB Tab_1 ;
			AT 10,10 ;
			WIDTH 600 ;
			HEIGHT 400 ;
			VALUE 1 ;
			TOOLTIP 'Tab Control' 

			PAGE 'Page 1' IMAGE "exit.bmp"

			      
			@ 30 , 10 LABEL SAY_02  VALUE IF(nIdioma=1,"Razón social","Company name") TRANSPARENT AUTOSIZE FONT sFont SIZE sSize
			@ 60 , 10 LABEL SAY_03  VALUE IF(nIdioma=1,"Nombre","Name") TRANSPARENT AUTOSIZE FONT sFont SIZE sSize      
			@ 90 , 10 LABEL SAY_04  VALUE IF(nIdioma=1,"Dirección","Adress") TRANSPARENT AUTOSIZE FONT sFont SIZE sSize   
			@ 120, 10 LABEL SAY_05  VALUE IF(nIdioma=1,"Población","Tows") TRANSPARENT AUTOSIZE FONT sFont SIZE sSize   

			@  30,130 TEXTBOX Get_02 VALUE " " WIDTH 250 FONT gFont SIZE gSize MAXLENGTH 35 ;
				  ON GOTFOCUS PINTA(1) ON LOSTFOCUS PINTA(2)
			@  60,130 TEXTBOX Get_03 VALUE " " WIDTH 250 FONT gFont SIZE gSize MAXLENGTH 35	;
				   ON GOTFOCUS PINTA(1) ON LOSTFOCUS PINTA(2)				
			@  90,130 TEXTBOX Get_04 VALUE " " WIDTH 250 FONT gFont SIZE gSize MAXLENGTH 35	;
				    ON GOTFOCUS PINTA(1) ON LOSTFOCUS PINTA(2)			
			@ 120,130 TEXTBOX Get_05 VALUE " " WIDTH 250 FONT gFont SIZE gSize MAXLENGTH 35;
				  ON GOTFOCUS PINTA(1) ON LOSTFOCUS PINTA(2)	
				  
				  
			END PAGE

			PAGE 'Page &2' IMAGE "info.bmp"
			

				DEFINE RADIOGROUP R1
					ROW	100
					COL	100
					OPTIONS	{ '1','2','3' }
					VALUE	1
				END RADIOGROUP

			END PAGE

			PAGE 'Page 3' IMAGE "check.bmp"

				@ 100,250 SPINNER Spinner_1 ;
				RANGE 0,10 ;
				VALUE 5 ;
				WIDTH 100 ;
				TOOLTIP 'Range 0,10' ; 
				ON CHANGE PlayBeep() 

			END PAGE

			PAGE 'Page 4' IMAGE "button.bmp"

				@ 50,50 GRID Grid_1 ;
					WIDTH 200 ;
					HEIGHT 330 ;
					HEADERS {'Last Name','First Name','Phone'} ;
					WIDTHS {140,140,140};
					ITEMS aRows ;
					VALUE 1 

			END PAGE

		END TAB

	END WINDOW

	Form_1.Center

	Form_1.Activate

Return Nil

//----------------------------------------------------------
//-- PINTA EL FONDO DE LOS TEXTBOX, ANTIGUOS GET
//-- Forma de llamarla
//-- ON LOSTFOCUS PINTA(Colordepedir, Colordesalir)
//-- Parametros opcionales
//------------------------------------------------------------
PROC Pinta(nOpc,Color_P,Color_S)
	LOCAL A  := GetLastActiveFormIndex ()
	LOCAL i := GetLastActiveControlIndex ()
	LOCAL cWin:=""
	DEFAULT Color_p:=COLOR_Cyan
	DEFAULT Color_s:=WHITE
	IF A > 0
		cWin:=(_HMG_SYSDATA [66] [A])
		if nOpc=1
			SETPROPERTY(cWin,This.focusedControl,"BACKCOLOR", Color_p)
			cCtrl="Say_"+SUBSTR(This.focusedcontrol,5,2)
			IF IsControlDefined (&cCtrl,&cWin )
				    SETPROPERTY(cWin,cCtrl,"FONTCOLOR", RED)
			ENDIF
		 ELSE
			SETPROPERTY(cWin,_HMG_SYSDATA [2] [i],"BACKCOLOR", Color_s)
			cCtrl="Say_"+SUBSTR(_HMG_SYSDATA [2] [i],5,2)
			IF IsControlDefined ( &cCtrl ,&cWin )
			    SETPROPERTY(cWin,cCtrl,"FONTCOLOR", BLACK)
			ENDIF
		ENDIF
	ENDIF
RETURN



Post Reply