Es posible tener un indicativo o sugerencia en los textbox para recibir datos?

875 views
Skip to first unread message

Saul Piña Hernandez

unread,
May 23, 2016, 8:31:35 PM5/23/16
to Comunidad de Visual Foxpro en Español

buenas tardes, me he decidio por simplificar aun mas mis formularios y me gustaria que los objetos de los formularios tengan o muestren sugerencias acerca de los datos que se pueden recibir en dichos objetos.

algo como el famoso cambio de contraseña de windows

Cualquier sugerencia me vendría de gran ayuda.

gracias.

Mario López

unread,
May 23, 2016, 10:52:35 PM5/23/16
to Comunidad de Visual Foxpro en Español
@Saul: fijate con algo como esto para empezar


* Textboxes con hints
o "indicios"
WITH CREATEOBJECT("xForm")
    .Show(1)
ENDWITH

RETURN 


DEFINE CLASS xForm as Form
    Height = 170
    Width  = 250

    ADD OBJECT txt1 as HintTextBox WITH Left = 10, Top = 10 , HintText = "Hint #1", Value = "xxxxxxxxx"
    ADD OBJECT txt2 as HintTextBox WITH Left = 10, Top = 40 , HintText = "Contraseña anterior"
    ADD OBJECT txt3 as HintTextBox WITH Left = 10, Top = 70 , HintText = "Nueva contraseña"
    ADD OBJECT txt4 as HintTextBox WITH Left = 10, Top = 100, HintText = "Confirmar la contraseña"

    ADD OBJECT cmdExit as CommandButton WITH Left = 70, Top = 130, Height = 30, Cancel = .T., Caption = "Salir"


    PROCEDURE cmdExit.Click
    ThisForm.Hide()
    ENDPROC 
ENDDEFINE


DEFINE CLASS HintTextBox AS TextBox
    LabelName = ""
    HintText  = ""
    KeyPressed = .F.
    Width = 200
    SelectOnEntry = .T.
    

    PROCEDURE Init
    
    LOCAL sName
    
    WITH ThisForm
        sName = SYS(2015)
        .AddObject(sName, "HintLabel"This.HintText)
        This.LabelName = sName
        WITH .&sName
            .TextBoxName = This.Name
            .BackColor = This.BackColor
            .Move(This.Left + This.Margin + 1This.Top + This.Margin + 1)
            .Width = This.Width - This.Margin * 2
        ENDWITH
    ENDWITH
    
    ENDPROC 
    
    
    PROCEDURE Refresh
    WITH This
        .UpdateHint()
    ENDWITH
    ENDPROC 
    

    PROCEDURE GotFocus
    WITH This
        .UpdateHint()
    ENDWITH
    ENDPROC 
    

    PROCEDURE LostFocus
    WITH This
        .KeyPressed = .F.
        .UpdateHint()
    ENDWITH
    ENDPROC 
    

    PROCEDURE UpdateHint
    
    WITH EVALUATE([ThisForm.] + This.LabelName)
        .Visible = EMPTY(This.Value) AND ! This.KeyPressed
    ENDWITH
    
    RETURN 
    

    PROCEDURE InteractiveChange
    WITH This
        .KeyPressed = .T.
        .UpdateHint()
    ENDWITH
    ENDPROC 
ENDDEFINE 


DEFINE CLASS HintLabel AS Label
    ForeColor = RGB(100100100)
    BackStyle = 1
    TextBoxName = ""
    
    
    PROCEDURE Init (sCaption)
    IF PCOUNT() > 0
        This.Caption = sCaption    
    ENDIF
    ENDPROC 
    

    * Hago al label "transparente" a los clicks
    PROCEDURE Click
    
    WITH EVALUATE([ThisForm.] + This.TextBoxName)
        .KeyPressed = .T.
        .UpdateHint()
        .SetFocus()
    ENDWITH
    
    ENDPROC 
ENDDEFINE 



***


En el código uso labels transparentes sobre los textboxes para simular los hints (indicios o indicaciones).

HTH
Mario
---

Luis Maria Guayan

unread,
May 24, 2016, 8:23:38 AM5/24/16
to publice...@googlegroups.com

Muy bueno Mario, lo puedo publicar en el Blog de la Comunidad bajo tu nombre


Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

El 23/05/16 a las 23:52, Mario López escribió:

Saúl Piña

unread,
May 24, 2016, 9:34:06 AM5/24/16
to Comunidad de Visual Foxpro en Español
Que buena idea, está genial.. gracias

Antonio Meza

unread,
May 24, 2016, 10:03:54 AM5/24/16
to Comunidad de Visual Foxpro en Español
Excelente!!! gracias por compartir!!!

saludos
Antonio Meza

Alejandro Garcia G.

unread,
May 24, 2016, 10:33:14 AM5/24/16
to Comunidad de Visual Foxpro en Español
Que buen ejemplo, gracias por compartir.

Saludos.

Elides Paredes

unread,
May 24, 2016, 11:01:29 AM5/24/16
to Comunidad de Visual Foxpro en Español
Amigo Mario.
Mis saludos respetuosos.

En primer lugar agradecido por compartir tan genial idea, supongo que todos siempre hemos querido en algún momento hacer algo así. De hecho, yo en particular me vi en la necesidad de limitarme al uso de etiquetas, muy simpáticas de color rojo llamativo con fondo blanco, sin embargo éste método es mas explícito para un usuario. De nuevo gracias.

Otra cosa que también, mas que querer, es que necesito modificar el editor para que se presenten los textos de esa forma muy visible. Tengo problemas de visión y últimamente me ha resultado muy difícil y mis ojos se cansan muy rápido por ese motivo.
¿Cómo hiciste para colocar esos colores y fondo? podrías por favor, o algún otro participante del foro decirme como lo puedo modificar así.
Lo hice, hace poco,  pero el color del nombre de las funciones no puedo cambiarlo. y al colocar por ejemplo como las ventanas de windows xp  letras blancas sobre fondo azul no veo las funciones porque son el mismo azul del fondo.

De nuevo Gracias
Elides Paredes
Barquisimeto Venezuela.

Ivan Martinez

unread,
May 24, 2016, 3:18:45 PM5/24/16
to publice...@googlegroups.com

Mas que cambiar los colores hay 3 cosas que recomiendo:
1. Disminuir la intensidad del brillo a lo mínimo que puedas leer cómodamente.
2.Usar un tamaño de font que te sea comodo, lógicamente los que no vemos hacia arriba.
3. En cuanto a los colores,siempre he preferido los fondos claros y letras obscuras,como so los libros y los periódicos.

Edad 66 años, uso lentes desde los 4 años de edad.

Atentamente
Ivan Martinez
Los Teques Venezuela

Elides Paredes

unread,
May 24, 2016, 3:46:14 PM5/24/16
to Comunidad de Visual Foxpro en Español
Amigo Ivan.
Gracias por responder.

Mi problema, relativamente nuevo, creo que es como una catarata, no es algo visible, y es curioso que algunas letras, claras e incluso pequeñas como tamaño 10 en fondos oscuros las veo muy bien, y mi problema es que no se corrige con lentes, por eso, me gustó mucho el texto como lo tiene el amigo Mario. Lo veo muy bien y no siento que fuerzo mis ojos, y aunque no he probado ver esas combinaciones de colores así por mucho tiempo, creo que de esa manera no me cansaría tanto.

Mi pregunta es, ¿se puede poner el editor de VFP con esos colores?

lo único que logré fue cambiar los textos de comentarios que les puse un fondo amarillo y un texto negro. ah..! y un tamaño 14 con fuente verdana. Pero aún así me ha sido difícil programar en los últimos meses por ese pequeño gran detalle.

De nuevo 
Gracias.

Elides Paredes
Barquisimeto Venezuela


 

Mario López

unread,
May 24, 2016, 3:48:35 PM5/24/16
to Comunidad de Visual Foxpro en Español
@Luis María: me parece perfecto, publicalo en el blog así tiene mejor visibilidad para el que le pueda servir.

Saludos,
Mario
----

Mario López

unread,
May 24, 2016, 4:05:42 PM5/24/16
to Comunidad de Visual Foxpro en Español


@Elides: buenas, el copy-paste no lo hice desde el IDE de VFP, sino desde el editor SublimeText configurado con el tema Twilight + el análisis sintáctivo de código VFP + el plugin de exportación a HTML: de esa forma el editor me colorea la sintaxis y me deja pegar el código en el editor de Google Groups (pasado luego por un pequeño programa Python que limpia el HTML, pero esto ya es por una "manía" mia de que el HTML quede bien jaja)

En VFP también uso una combinación oscura, el resultado no es tan "vistoso" porque el analizador sintáctico soporta menos combinaciones, queda algo así:




Para que quede así importo en el registro de Windows esta configuración:


REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorNormalColor  /f /d "RGB(248,248,248, 20,20,20), NoAuto, NoAuto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorCommentColor    /f /d "RGB(95,90,96, 255,255,255), NoAuto, Auto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorKeywordColor    /f /d "RGB(205,168,105, 255,255,255), NoAuto, Auto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorConstantColor   /f /d "RGB(207,106,76, 255,255,255), NoAuto, Auto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorOperatorColor   /f /d "RGB(249,238,152, 255,255,255), NoAuto, Auto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorStringColor     /f /d "RGB(143,157,106, 255,255,255), NoAuto, Auto"
REG ADD HKCU\Software\Microsoft\VisualFoxPro\9.0\Options /v EditorVariableColor   /f /d "RGB(117,135,166, 255,255,255), NoAuto, Auto"


cambiando 9.0 por la versión de VFP que esté utilizando.

OJO que esto cambia los colores en todos los editores de VFP, y no hace backup de los valores anteriores.

HTH
Mario
----

Elides Paredes

unread,
May 24, 2016, 4:18:05 PM5/24/16
to Comunidad de Visual Foxpro en Español
 Amigo Mario.

Te voy a incluir en mi lista de Genios del foro.
Muchas gracias por responder. Ya sabía yo que no era nada fácil, especialmente si tengo que modificar los registros del sistema operativo. El cual respeto mucho, para no meterme en líos. No obstante,  he aprendido algo nuevo y muy importante. Voy a tratar de meterme en eso porque es realmente algo necesario para poder continuar programando.

De nuevo gracias por ambos aportes. 

Por lo que he visto aquí, la mayoría pasamos de 5 décadas y es muy probable que ésto sea muy importante para nosotros.

De nuevo, Mil gracias.
Elides Paredes
Barquisimeto Venezuela

Elides Paredes

unread,
May 24, 2016, 4:18:33 PM5/24/16
to Comunidad de Visual Foxpro en Español

Mario López

unread,
May 24, 2016, 4:33:44 PM5/24/16
to Comunidad de Visual Foxpro en Español
@Elides: yo no me preocuparía demasiado por las modificaciones del registro de VFP, podés hacer backup de la clave Options completa y si no te gusta restaurás la misma. Al final de cuentas el registro es tuyo, no de Windows jaja.

Larga vida al Zorro "oscuro" :)

Saludos,
Mario
---

Elides Paredes

unread,
May 24, 2016, 5:22:58 PM5/24/16
to Comunidad de Visual Foxpro en Español
Tienes razón, es que como dije, casi no me meto con el regedit. pero es hora de irlo enfrentando..jajaja. había olvidado lo del respaldo, se que se puede, pero no lo he hecho aún..
Saludos
Elides



Luis Maria Guayan

unread,
May 24, 2016, 5:29:13 PM5/24/16
to publice...@googlegroups.com

Gracias Mario, ya esta publicado en el Blog.

-- Cuadros de textos con indicios o "hints" --
http://comunidadvfp.blogspot.com/2016/05/cuadros-de-textos-con-indicios-o-hints.html

Saludos,


Luis María Guayán
Tucumán, Argentina
_______________________________
Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

El 24/05/16 a las 16:48, Mario López escribió:

Allan Raúl Acuña

unread,
May 24, 2016, 5:50:56 PM5/24/16
to publice...@googlegroups.com
Hola LM, quizás sea valido mi comentario, en HTML le llaman a esta característica como: 

placeholder Attributequizás deba incluir este termino.

ejemplo:

http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_placeholder

Saludos cordiales.

Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 999 8950
Managua, Nicaragua
Centroamérica



Subject: Re: [vfp] Re: Es posible tener un indicativo o sugerencia en los textbox para recibir datos?
To: publice...@googlegroups.com
From: luism...@gmail.com
Date: Tue, 24 May 2016 18:30:07 -0300
Message has been deleted
Message has been deleted

integral

unread,
May 26, 2016, 12:06:44 AM5/26/16
to Comunidad de Visual Foxpro en Español
Estimado amigo SAUL :

Quizás sea algo tarde pero aquí tengo un formulario que baje hace algunos años de este foro y que realiza lo que deseas implementar de manera desde mi punto de vista excelente...

El autor de este trabajo fue el gran maestro GUILLERMO CARRERO (Q.E.P.D.)

Aquí publico sus propias palabra en respuesta a una consulta muy similar alla por el año 20011 como un homenaje al gran maestro que se fue...

Adjunto TextBoxMen.ra_ (Archivo RAR). Se trata de un pequeño formulario con dos 

controles que simulan el efecto que solicitas. Por supuesto puedes adaptarlo a tus 
necesidades y guardarlo como clase.

Un saludo,

Guillermo Carrero
Barcelona - España

PD : ESPERO TAMBIEN LES SIRVA A TODO AQUEL COLEGA DEL FORO QUE DESEE IMPLEMENTARLO EN SUS PROYECTOS...

INTEGRAL
TextBoxMen.ra_

Luiz Alexandre Ruiz

unread,
May 26, 2016, 7:19:11 AM5/26/16
to Comunidad de Visual Foxpro en Español
Elides não é preciso mexer no Regedit, você pode fazer isso direto no VFP, vá em Tools->Options, irá uma tela de configurações do VFP, vá em Editor, na parte inferior tem a parte de ajuste de cores do editor. Meu VFP é o 9 SP2.

Auto Generated Inline Image 1

Mario López

unread,
May 26, 2016, 9:43:06 AM5/26/16
to Comunidad de Visual Foxpro en Español
@Luis Maria: me pasaste los This y las palabras clave a mayúsculas? Horrooooooor !!!!!!!! jajajaja

Saludos,
Mario
----

integral

unread,
May 26, 2016, 10:48:57 AM5/26/16
to Comunidad de Visual Foxpro en Español

Estimado Amigo MARIO :

El código del ejemplo que expones realiza casi lo mismo solo que adolece de un pequeño detalle y es que cuando el usuario ingrese la informacion y ya sea por equivocacion borre lo ingresado no aparece el mensaje predeterminado en el momento si no cuando sales del control textbox...

En cambio el ejemplo que adjunto si realiza muy bien dicho detalle...

Espero no te molestes conmigo por lo observado creo que al final los colegas utilizaran el modelo que mejor les parezca...

Saludos, 
 
INTEGRAL

El lunes, 23 de mayo de 2016, 19:31:35 (UTC-5), Saul Piña Hernandez escribió:

Mario López

unread,
May 26, 2016, 11:26:43 AM5/26/16
to Comunidad de Visual Foxpro en Español
@Integral:buenas, eso es a propósito así, mientras el usuario está tipeando algo en el TextBox no aparece el indicativo aún cuando el .Value del mismo esté vacío. Me parece que los textboxes con indicativos de Windows funcionan igual; no recuerdo con seguridad si es así, igualmente en mi caso nunca quiero que le aparezca nada sobre el texbox mientras el usuario está editando, ya que se puede confundir y pensar que el indicativo es el valor tipeado en el textbox.

Igual eso lo hice en un ratito libre y es solo un punto de partida así que seguramente sea mejorable.

Saludos,
Mario
---

Saúl Piña

unread,
May 26, 2016, 11:31:57 AM5/26/16
to Comunidad de Visual Foxpro en Español
Gracias Integral,

no sabia de esta clase...la voy a probar.

Elides Paredes

unread,
May 26, 2016, 12:05:04 PM5/26/16
to Comunidad de Visual Foxpro en Español
muito obrigado amigo Luis. Não porque eu sempre perder essa opção, quando eu não precisa encontrálo. É exatamente o que eu precisava.

Saudações de Barquisimeto Venezuela
Elides Paredes

Luis la Romana

unread,
May 26, 2016, 3:37:21 PM5/26/16
to Comunidad de Visual Foxpro en Español
Mejor no cambio nada en mi VFP, la voy a liar con ganas.

Alejandro Garcia G.

unread,
May 26, 2016, 6:24:04 PM5/26/16
to Comunidad de Visual Foxpro en Español
Mario Gracias nuevamente.


Quería saber si se puede hacer este ejemplo en un clase .vcx, pues he intentado colocarla para mayor facilidad de uso y me da erorr siempre en HitLabel del Init, no se por que.

¿Alguien me podría colaborar?

Mario López

unread,
May 26, 2016, 9:02:53 PM5/26/16
to Comunidad de Visual Foxpro en Español
Alejandro: es HintLabel, no HitLabel, y deberías tener la librería VCX agregada en el SET CLASSLIB , ya que el Init usa AddObject de un HintLabel.

Fijate si con eso te funciona

HTH
Mario
---

Alejandro Garcia G.

unread,
May 27, 2016, 9:17:15 AM5/27/16
to Comunidad de Visual Foxpro en Español
Ya ni veo...LOL. Gracias por notar mi error y la sugerencia.

En estos momentos tengo ciertos problemas con la energía en la empresa en donde estoy dando soporte, me demore un rato pero luego mirare para ver,

Saludos y gracias.

Alejandro Garcia G.

unread,
May 27, 2016, 10:12:55 AM5/27/16
to Comunidad de Visual Foxpro en Español
Mario López, tenias toda la razón. Me faltaba "cargar" la clase con SET CLASSLIB. Ya me funciono, gracias.

Gracias por compartir y muy buen aporte. Aun sigo sin energía y hace un calor impresionante en donde me ecuentro (Solo por ser viernes).
Reply all
Reply to author
Forward
0 new messages