Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Enabled=False v/s Visible=True

Estas en el tema de Enabled=False v/s Visible=True en el foro de Visual Basic clásico en Foros del Web. Hola amigos En vb6 cuando asignamos a un control su propiedad enabled a false (piensen en un textbox, por ejemplo), el texto del control se ...
  #1 (permalink)  
Antiguo 14/06/2005, 06:54
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Enabled=False v/s Visible=True

Hola amigos

En vb6 cuando asignamos a un control su propiedad enabled a false (piensen en un textbox, por ejemplo), el texto del control se refleja en ejecución con un color gris que casi ni se ve... como podriamos controlar el color de dicho texto una vez que el control ha sido inhabilitado (para que salga negro y no gris, por ejemplo)?... o soy yo que soy un imbécil y no me doy cuenta? jejeje

Gracias
  #2 (permalink)  
Antiguo 14/06/2005, 07:05
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Pues puedes ponerlo Locked=true y cambias el cursor en el MouseMove del text(si quieres)...

Seria:

Text1.Locked=True

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Screen.MousePointer = 1 'Esto es si quieres que el cursor sea la flecha cunado lo pases por el textbox
End Sub
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #3 (permalink)  
Antiguo 14/06/2005, 07:05
 
Fecha de Ingreso: abril-2005
Mensajes: 137
Antigüedad: 19 años
Puntos: 0
he aca un ejemplo para cuando quieras controlar ese color:
Text1.Enabled = False
Text1.BackColor = vbWhite

Espero que te sirva
  #4 (permalink)  
Antiguo 14/06/2005, 07:12
jorevale
Invitado
 
Mensajes: n/a
Puntos:
muy bueno, gracias.

me voy por la variante del mouse over

bye
  #5 (permalink)  
Antiguo 15/06/2005, 03:19
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Uy!!! No me acabo de decidir.

El asunto es que es una pantalla de captación de datos que debe tener desabilitados un grupo de controles (textbox), son muchos, unos veinte digamos. Y si los pongo Enabled=False (como deben estar) realmente no se ven los datos de la base cuando los usuarios van moviendose por los registros.

No hay forma de precisar que los controles, aunque estén inhabilitados, mantengan su color de fuente a negro?
  #6 (permalink)  
Antiguo 15/06/2005, 03:23
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Yo podría, por ejemplo, hacer lo siguiente
1) Dejarlo todo habilitado (para que se vea bien)
2) Llevar el valor de cada campo a variable al abrir el recordset (y cada vez que se muevan de registro!!! uf...)
3) Comparar al moverse de registro si los valores de los textbox coinciden con los valores de las variables, si coinciden, mover al otro registro; de lo contrario mandar un msgbox "No se puede modificar la base" y cancelupdate.

Pero esto me parece un poco maquiavélico para un tema tan simple.

Bueno, quizás a ustedes se les ocurra algo mejor.

Gracias
  #7 (permalink)  
Antiguo 15/06/2005, 03:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 93
Antigüedad: 19 años
Puntos: 1
Algo sencillo que quede bien:

1.- Mete todos los campos de texto en un frame (frame1)
2.- frame1.enabled = false

Con esto consigues que no se puedan acceder a dichos datos, pero que veas los campos de texto como activos.
__________________
No te hubieran dado la capacidad de soñar sin darte también la posibilidad de convertir tus sueños en realidad
  #8 (permalink)  
Antiguo 15/06/2005, 03:44
jorevale
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo

MIL GRACIAS ZABAIT!!!

Ese camino es perfecto.!!!
  #9 (permalink)  
Antiguo 15/06/2005, 04:53
 
Fecha de Ingreso: mayo-2005
Mensajes: 93
Antigüedad: 19 años
Puntos: 1
Muchas veces la mejor solucion no es la más dificil. Hay que simplificar un poco!!!
__________________
No te hubieran dado la capacidad de soñar sin darte también la posibilidad de convertir tus sueños en realidad
  #10 (permalink)  
Antiguo 15/06/2005, 06:39
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Tienes razón, amigo.
  #11 (permalink)  
Antiguo 15/06/2005, 09:40
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por jorevale
No hay forma de precisar que los controles, aunque estén inhabilitados, mantengan su color de fuente a negro?
Ay ay, el problema VB... ;)
  #12 (permalink)  
Antiguo 15/06/2005, 14:39
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Eje!!! en ves de utilizar la propiedad enabled... donde se arma un relajo por el color... utilizan la propiedad Locked. Asi el usuario no podrá escribir en el textbox y tampoco cambiará de color... y muerto el chancho
  #13 (permalink)  
Antiguo 15/06/2005, 16:27
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Developer9
Eje!!! en ves de utilizar la propiedad enabled... donde se arma un relajo por el color... utilizan la propiedad Locked. Asi el usuario no podrá escribir en el textbox y tampoco cambiará de color... y muerto el chancho
Pero resulta que quieren que no se vea en todos y usan un Frame.

Es lo mismo que lo que comentabas tú de .NET de vaciar los contenidos de un formalario colocándo todos los controles TextBox.Text = "" a mano, mientras yo te decía que con un bucle...
  #14 (permalink)  
Antiguo 16/06/2005, 08:41
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por jorevale
Uy!!! No me acabo de decidir.

El asunto es que es una pantalla de captación de datos que debe tener desabilitados un grupo de controles (textbox), son muchos, unos veinte digamos. Y si los pongo Enabled=False (como deben estar) realmente no se ven los datos de la base cuando los usuarios van moviendose por los registros.

No hay forma de precisar que los controles, aunque estén inhabilitados, mantengan su color de fuente a negro?
A lo que yo me refería, es que a los textbox en vez de ponerle Enabled=False y que el backcolor cambie y el texto sea algo ilegible le pones Locked=True, así se muestra igualito, y como es solo para consulta el usuario no puede cambiar datos, así lo hacemos siempre
  #15 (permalink)  
Antiguo 16/06/2005, 09:06
 
Fecha de Ingreso: mayo-2005
Mensajes: 93
Antigüedad: 19 años
Puntos: 1
estoy de acuerdo con developer9,, asi tambien lo hago yo, pero en un caso me paso lo mismo y tuve que hacerlo así.

Tienes razón en el 99% de las veces, pero... o sino es que no te entendió
__________________
No te hubieran dado la capacidad de soñar sin darte también la posibilidad de convertir tus sueños en realidad
  #16 (permalink)  
Antiguo 16/06/2005, 09:23
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
En win32 es diferente que en internet. En una sola pantalla se hace de todo... ingresar, consultar, modificar, eliminar... entonces lo que normalmente hacemos es una función indicando el modo y según eso hacerle el Lock a los textbox que necesitemos, ya que no siempre es a todos. Lo del frame es buena idea compañera zabait, pero que pasaría si los botones de aceptar o cancelar están dentro del frame je je... Lo del enabled=False se ve feo, Locked=True cumple la misma función, así no tenemos que meternos a cambiarle el color del texto, el backcolor del textbox, etc
  #17 (permalink)  
Antiguo 16/06/2005, 09:29
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Cita:
Iniciado por MaxExtreme
Ay ay, el problema VB... ;)
Ay ay, el problema spam... ;)
  #18 (permalink)  
Antiguo 16/06/2005, 09:52
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por darkasecas
Ay ay, el problema spam... ;)
No es spam majete... no hables sin saber....

A fin de cuentas, tú estarías también haciendo spam...

Ay ay, el problema spam...
  #19 (permalink)  
Antiguo 16/06/2005, 09:53
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
darkasecas por favor no trates de molestar al otro para empezar otra discucion... si lo que escribió max es spam... se podría decir que lo tuyo tambien... no escribes nada que colabore con el tema
  #20 (permalink)  
Antiguo 16/06/2005, 09:55
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Cita:
Iniciado por MaxExtreme
No es spam majete... no hables sin saber....

A fin de cuentas, tú estarías también haciendo spam...

Ay ay, el problema spam...
no encontre en este foro uan definicion de spam asi que usare la de otros foros que visito
Cita:
• Spamming is essentially any post that adds absolutely nothing to the givin topic
veamos ... "Ay ay, el problema VB..." no creo que este aportando demasiado a un thread sobre "Enabled=False v/s Visible=True"

ah si lo se el mensaje mio tambien es spam, no lo niego pero bueno al fin que aqui como quiera esta lleno de eso

Última edición por darkasecas; 16/06/2005 a las 10:02
  #21 (permalink)  
Antiguo 16/06/2005, 10:32
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Bueno... bueno... se acabó la discución sobre que es spam... y quien hace spam... Por favor
  #22 (permalink)  
Antiguo 16/06/2005, 10:43
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
yo estoy de acuerdo con eso es mejor gastar un post en una respuesta util a otro forero..

nos vemos.. y pasen feliz dia..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:39.