Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: SpeedCAD en Viernes 12 de Diciembre de 2003, 04:59
Título: Control Ocx
Publicado por: SpeedCAD en Viernes 12 de Diciembre de 2003, 04:59
Hola...
Estoy creando un control OCX con un Label y un TextBox, el asunto es que cuando el UserControl tome el valor False de la propiedad Enabled, el control TextBox tome un colo Gris.
Me explico, se supone que tengo el codigo en el proyecto del OCX y luego lo compilo y lo registro y lo ocupo en una aplicacion aparte agregandolo como componente, entonces en dicha aplicacion coloco un control Options y cuando este le de clic la propiedad Value sera True y mi control OCX tomara Enable = False y por lo tanto el cuadro de texto que esta contenido en el OCX deberia tomar un color gris. Esto no se como lograrlo.
Espero que se entienda la pregunta :hola:
Título: Re: Control Ocx
Publicado por: Brroz en Viernes 12 de Diciembre de 2003, 09:45
Hola SpeedCad.
Para lograr que tu ocx tenga la propiedad Enabled, deberás tú mismo crear esa propiedad y adicionar el código necesario según el caso para que el control reaccione como tú esperas.
Por ejemplo:
Private indEnabled As Boolean
'Propiedad de lectura Public Property Get Enabled () as Boolean Enabled = indEnabled End Property
'Propiedad también de escritura Public Property Let Enabled (Byval Enbld as boolean) indEnabled = Enbld If indEnabled Then MiControl.Propiedad = lo_que_sea Else MiControl.Propiedad = otra_cosa End If End Property
Suerte.
Título: Re: Control Ocx
Publicado por: SpeedCAD en Viernes 12 de Diciembre de 2003, 13:14
Hola Brroz...
Ya lo habia hecho y me resultaba bien, el problema era que no podia cambiar el color del cuadro de texto salvo cuando pinchaba en el OCX. De momento lo habia dejado asi, pero en tu respuesta me di cuenta de algo que no habia hecho, en realidad no se me habia ocurrido:
Código: Text
'Propiedad también de escritura
Public Property Let Enabled (Byval Enbld as boolean)
indEnabled = Enbld
If indEnabled Then
MiControl.Propiedad = lo_que_sea
Else
MiControl.Propiedad = otra_cosa
End If
End Property
No se me habia ocurrido colocar el If en la misma propiedad, lo probaré en la noche y te comentaré pero por lo que veo deberia resultar :kicking:
Gracias :hola:
Título: Re: Control Ocx
Publicado por: SpeedCAD en Sábado 13 de Diciembre de 2003, 03:04