Creación de las propiedades del control textbox especial con visual basic

manuales, tutoriales, programacion
programming tutorials, programming manuals
visual basic > programacion
//-->
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Untitled Document
+ ManualesVB
+ ArticulosVB
+ RecursosVB
+ ForosVB [N]
+ LibrosVB
+ TrucosVB
+ CodigoVB
+ FAQ`sVB

+busca en la web

+Newsletter
+InscribeteGratis..

Inserta tu manual

+Manuales
+Programacion
+DiseñoWeb
+Office/Ofimatica
+Bases de Datos
+S.O.
+Herr.Prefabricad
+Aplicaciones
+Manual propios
+Cursos-Masters

+AreaDiseño
+Manuales Diseño

+Trucos
+Ver secc.trucos

+Recursos
+ver recursos
+Iconos
+Cursores

+Noticias/RSS
+Ver noticias
+Ver canal RSS

+Codigo Fuente:
+Portada
+Todos los script
+ASP
+PHP
+Visual Basic
+JavaScript
+Perl
+Tips&Tricks

+Video Tutoriales
+Video tutoriales

+Comunidad
+Foros
+Ganar dinero
+Herramientas
+Libros

+Webmasters
+ZonaWebmaster

+Software
+ir a secc. Soft
+Prog. Linux
+Prog. MAc
+Prog.Windows

+AreasExclusivas
+Zona Flash
+Zona PHP
+Zona ASP
+Zona VB
+Zona Access
+Zona PERL
+Zona ADSL
+Zona V Fox Pro
+Zona Excel
+Zona Photoshop
+Zona MAC

+Agregador Blogs
+Tech-y
+Movilmania
+Mac+Webmasters
+Otros idiomas
+Mac Iphone ( EN)
+Mac iphone (FR)
+Mac iphone (DE)
+Technologie (FR)
+Webmasters(FR)

+Herramientas
+Herramientas
+Drivers

+Seguridad
+zona Virus

+Gana Dinero
+Como ganar

+SuperDiVX
+Area Divx

+Articulos
+Ver articulos
+Noticias

+Directorio [New]
+Ver directorio

+Blogs
+Nuestros blogs

+Noticias
+de Tecnologia

+SuperGames
+Juegos/ocio
+Juegos Online
+Videos y trailers
+Trucos - Juegos
+Zona Consolas
+Blog de PSP
+Blog de PS2
+Blog de PS3
+Blog de Wii
+Blog de XBOX
+Blog XBOX 360

+Word
+Towns-Villages (en)
+Cidades-Vilas(pt)

+Canal Compras
+Canal Compras

Creación de las propiedades del control textbox especial con visual basic

 

5. Creación de las propiedades del control textbox especial

Ahora vamos adaptar algunas de las propiedades mas importantes o la que mas utilizamos del TEXTBOX (OJO: no es obligatoria colocar todas), en nuestro control nada mas habilitaremos o mostraremos las propiedades: FONT, FORECOLOR, BACKCOLOR, TEXT, ALINEACIÓN, ENABLED, LOCKED, MAXLENGHT y PASSWORDCHAR, para hacer esto introduzca en la ventana de código del control lo siguiente:

Public Property Get Font() As Font

Set Font = text1.Font

End Property

Public Property Get ForeColor() As OLE_COLOR

ForeColor = text1.ForeColor

End Property

Public Property Get BackColor() As OLE_COLOR

BackColor = text1.BackColor

End Property

Public Property Get Text() As String

Text = text1.Text

End Property

Public Property Get Enabled() As Boolean

Enabled = text1.Enabled

End Property

Public Property Get Locked() As Boolean

Locked = text1.Locked

End Property

Public Property Get MaxLenght() As Integer

MaxLenght = text1.MaxLength

End Property

Public Property Get PasswordChar() As String

PasswordChar = text1.PasswordChar

End Property

Public Property Set Font(ByVal NuevoValor As Font)

Set text1.Font = NuevoValor

PropertyChanged "Font"

End Property

Public Property Let ForeColor(ByVal NuevoValor As OLE_COLOR)

text1.ForeColor() = NuevoValor

PropertyChanged "ForeColor"

End Property

Public Property Let BackColor(ByVal NuevoValor As OLE_COLOR)

text1.BackColor() = NuevoValor

PropertyChanged "BackColor"

End Property

Public Property Let Text(ByVal NuevoValor As String)

text1.Text = NuevoValor

PropertyChanged "Text"

End Property

Public Property Let Enabled(ByVal NuevoValor As Boolean)

text1.Enabled = NuevoValor

PropertyChanged "Enabled"

End Property

Public Property Let Locked(ByVal NuevoValor As Boolean)

text1.Locked = NuevoValor

PropertyChanged "Locked"

End Property

Public Property Let MaxLenght(ByVal NuevoValor As Integer)

text1.MaxLength = NuevoValor

PropertyChanged "MaxLenght"

End Property

Public Property Let PasswordChar(ByVal NuevoValor As String)

text1.PasswordChar = NuevoValor

PropertyChanged "PasswordChar"

End Property

NOTA: le recomendaría que guardaran el proyecto no vaya ser que se vaya la luz y perdamos todo el tiempo invertido (NO QUEREMOS ESO)

Se deben de estar preguntando ("QUE ES TODO ESTO"), bueno empecemos la explicación:

Cuando se crean propiedades, se deben de utilizar lo siguiente:

Property Let

Property Get

Property Let se ejecutara cada vez que nosotros cambiamos alguna de las propiedades del control en el formulario del proyecto ya sea a nivel de diseño o de código.

Property Get se ejecutara cada vez que solicitemos alguna información de nuestras propiedades por ejemplo que una variable quiera tomar una propiedad:

Nombre_Variable = TEXTBOX_ESPECIAL.Text

Por ejemplo voy a explicar una propiedad y la explicación es lo mismo para todas las propiedades:

Public Property Get Text() As String

Text = text1.Text

End Property

Public Property Let Text(ByVal NuevoValor As String)

text1.Text = NuevoValor

PropertyChanged "Text"

End Property

En Property Get lo que hacemos es que cuando solicitamos información del texto que esta introducido en el TEXTBOX_ESPECIAL hacemos Text que es nuestra propiedad igual a Text1.Text, siendo text1 el control que nosotros colocamos en nuestro control.

Por ejemplo:

Variable = TEXTBOX_ESPECIAL.text

Cuando hacemos esto, sin darnos cuenta nuestro control invoca Property get de la propiedad Text y tomamos el valor el cual seria Text = text1.Text , y ese valor se le asigna a la variable que lo invoco en este caso "Variable"

En Property Let lo que hacemos es que cuando le asignamos un nuevo valor a nuestra propiedad Text (OJO "NUESTRA PROPIEDAD"), ejemplo:

TEXTBOX_ESPECIAL.text = "HOLA"

Sin darnos cuenta se ejecuta el código que adentro se encuentre, en este caso le asignamos al Text1.text = NuevoValor siendo "nuevoValor" el texto que aparecerá en el control. El ByVal se debe a que el valor se pasa por copia y no por Referencia, léanse la ayuda sobre métodos y Funciones.

Cuando dije (OJO "NUESTRA PROPIEDAD") quise decir, que nosotros pudimos haber llamado esa propiedad como nosotros queramos, es decir, que en ves de llamarlo Text, lo pudiésemos haber llamado "TEXTO", "CADENA", "PEPE", "PEPITO", como nosotros queramos, lo que sucede que para no confundir a los usuarios que usen el control, respeto ya el estándar del Textbox existente. Recuerden no estamos creando desde cero un TEXTBOX, lo que estamos haciendo es un control que posee un control TEXTBOX común y silvestre, pero que se adaptara a nuestra exigencias (En este caso lo que mencione al principio, un Textbox_Especial que acepte los caracteres del teclado que nosotros queramos, ya que el Textbox normal no lo hace de manera automática)

Si ahora insertan nuestro control en el formulario con esta modificaciones van a notar en la ventana propiedades que ahora aparecen MAS PROPIEDADES QUE ANTES, y que se pueden modificar "MAGNIFICO NO!!!!" poco a poco aprendemos mas. Anda cambia la propiedad Text de nuestro control a nivel de diseño para que vea como cambia en el formulario.

Ahora vamos a aprender algo más, para empezar inserten un control TEXTBOX común y corriente (ES DECIR EL DE VISUAL BASIC) en el formulario donde estamos trabajando, y en la ventana propiedades denle Click a la propiedad "Alignment", verán que se habilita un botón con una flecha hacia abajo y si le dan click le mostrara una lista de las opciones posibles; a lo que quiero llegar es que ustedes se deben de estar preguntando "COMO SE HACE ESO?" , bueno es fácil primero en la sección de "Declaraciones", en la ventana de código (de nuestro control), insertaremos la declaración de la siguiente variable:

Enum Tipo_Alineacion

Izquierda = 0

Derecha = 1

Centro = 2

End Enum

Ahora vamos a crear la propiedad de la manera siguiente:

Public Property Get Alineacion() As Tipo_Alineacion

Alineacion = Text1.Alignment

End Property

Public Property Let Alineacion(ByVal NuevoValor As Tipo_Alineacion)

Text1.Alignment = NuevoValor

PropertyChanged "Alineacion"

End Property

Si ahora insertan nuestro control con las modificaciones hechas, en el formulario podrán notar que añadió una nueva propiedad que se llama "ALINEACION", y si le dan click verán el botón de al lado con la flecha hacia abajo, y si dan click al botón verán una lista con las opciones disponibles "INCREÍBLE NO!!!", siempre cuando ustedes desean mostrar una lista en alguna de las propiedades usen la declaración ENUM (VEASE EN LA AYUDA las variables de tipo ENUM).

Algo que se me ha olvidado explicar es el PropertyChanged, esto se tiene que escribir cuando una propiedad cambia su estado

Abran notado que todavía no hemos ejecutado el proyecto, es decir solamente hemos visto nuestro control a nivel de diseño y no a nivel de ejecución, bueno ahora vamos a ejecutarlo, pero primero cambien el color de nuestro control, al color que ustedes quieran, y en la alineación coloquen la opción de "CENTRO", muy bien para ejecutar el proyecto primero debemos de hacer los siguientes paso dele click a "PROYECTO" en el menú, luego a "Propiedades del Proyecto1", en el cuadro de "TIPO DE PROYECTO", seleccionen "Exe estándar" y en "OBJETO INICIAL", seleccionen Form1 y luego le dan aceptar.

Bueno, debemos de tener un control con un fondo que ustedes hayan elegido, con el texto Centrado, ahora ejecuten el proyecto......................................, podrán haber notado que tanto el fondo como la alineación no esta como nosotros la colocamos en el diseño, es decir, estamos viendo un fondo blanco, con la alineación a la izquierda, bueno esto en realidad fue intencional, por que todavía nos falta echar unas pocas líneas de código para que funcione.

Cierren el programa en ejecución, y metanse en el código de nuestro control y añadan las siguientes líneas:

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)

On Error Resume Next

Call PropBag.WriteProperty("BackColor", Text1.BackColor, &H80000005)

Call PropBag.WriteProperty("Font", Font, Ambient.Font)

Call PropBag.WriteProperty("ForeColor", Text1.ForeColor, &H80000008)

Call PropBag.WriteProperty("Alineacion", Text1.Alignment, 0)

Call PropBag.WriteProperty("Enabled", Text1.Enabled, True)

Call PropBag.WriteProperty("Locked", Text1.Locked, False)

Call PropBag.WriteProperty("MaxLenght", Text1.MaxLength, "")

Call PropBag.WriteProperty("PasswordChar", Text1.PasswordChar, "")

Call PropBag.WriteProperty("Text", Text1.Text, "")

End Sub

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)

On Error Resume Next

Set Font = PropBag.ReadProperty("Font", Ambient.Font)

Text1.ForeColor = PropBag.ReadProperty("ForeColor", &H80000008)

Text1.BackColor = PropBag.ReadProperty("BackColor", &H80000005)

Text1.Alignment = PropBag.ReadProperty("Alineacion", 0)

Text1.Enabled = PropBag.ReadProperty("Enabled", True)

Text1.Locked = PropBag.ReadProperty("Locked", False)

Text1.MaxLength = PropBag.ReadProperty("MaxLenght", "")

Text1.PasswordChar = PropBag.ReadProperty("PasswordChar", "")

Text1.Text = PropBag.ReadProperty("Text", "")

End Sub

En estos momentos si ustedes estaban confundidos, o le costaba entender el cómo se hace un control, deben de estar peor al ver este poco de líneas que seguro ni entienden por que la escribieron; bueno para empezar con estos dos métodos se deben de "MECANIZAR" que quiero decir con esto, todo control cualquiera fuera su tipo siempre va a tener estos dos Eventos, y se usan igual para todos los controles que ustedes diseñen.

WriteProperties: en este método o evento declaramos líneas como esta

Call PropBag.WriteProperty("BackColor", Text1.BackColor, &H80000005)

Donde:

o "BackColor" : es el nombre de la propiedad.

o "Text1.BackColor", es el nombre de la propiedad original.

o "&H80000005", es el valor inicial de esta propiedad o el valor por DEFECTO. (&H80000005 es equivalente en Hexadecimal al color blanco"

Siempre y esto que quede claro cuando ustedes crean una propiedad tienen que meterla en WritePropery, no se preocupen por entender "Call PropBag.WriteProperty", esto no importa lo que si es importa es que sepan que tienen que poner como primer valor el nombre de la propiedad, luego el nombre de la propiedad original, y por ultimo el valor por defecto.

ReadProperty: en este método o evento declaramos líneas como esta:

Text1.BackColor = PropBag.ReadProperty("BackColor", &H80000005)

Donde:

o "BackColor" es el nombre de la propiedad de nuestro control.

o Y &H80000005 es el valor por defecto Noten que estamos haciendo Text1.BackColor (nombre de la propiedad del Texbox que estamos usando en nuestro control) = PropBag.ReadProperty("BackColor", &H80000005)

Al igual que WriteProperty, no se preocupen de buscar el "POR QUE HACEMOS ESTO", lo que importa es que cuando añadan una nueva propiedad en Readproperty tienes que poner el nombre de la propiedad a utilizar (En este caso Text1.BackColor) igual a Propbag.ReadProperty(Nombre_de_la propiedad_nuestra, valor original o por defecto).

Esta parte reconozco que es un poco complicada de entender, por eso mencione que para estos dos métodos MECANÍCENSE, no lo busquen el por que, tan sencillamente háganlo de esa manera, si desean averiguar sobre estos Eventos (Vean en la ayuda de MSDN de Microsoft)

Ahora, vamos al formulario del proyecto, quiten el control viejo y vuelvan a insertar nuestro control con los nuevos cambios, verán que tanto físicamente como en las propiedades no ha cambiado, pero ahora, cámbienle el color y la alineación póngala centrada y ejecuten............................... habrán notado que ya el color y la alineación se mantienen ¡QUE BUENO!, pera que vean lo poderosas con son esas instrucciones.

>> Ver siguiente capitulo

    Controles y clases en Visual Basic
 
1
Introducción a los controles
 
2
Propiedades, métodos, Funciones y Eventos.
 
3
Creación de un control
 
4
Manos a la obra
 
5
Creación de las propiedades del control textbox especial
 
6
Creación de los eventos
 
7
Creación de las propiedades y funciones personalizadas
 
8
Finalización de un Control y conclusion
 
9
Introducción a las Clases
 
10
Propiedades, Funciones y Eventos
 
11
Diseño de clase en Visual Basic
 
12
Creación de la Clase "ASISTENTE" y conclusion final.
     
 

Este trabajo ha sido realizado por: Eduardo Roa. - eduroam[arroba]hotmail.com
Caracas, Venezuela.

Nuestro sincero agradecimiento

 

 
 
Cursos - Masters - Postgraduados - Universidades
Estas interesado en realizar algun curso y master de programacion pide información
en menos de 1 minuto - cientos de cursos!!!
Recomendar
Recomendar esta pagina a un amigo
Si buscas mas manuales te recomendamos solorecursos.com
Untitled Document
Servidores
+ Directorio Ofertas
ofertas ADSL
ofertas Tech
ofertas viajes
ofertas finanzas
formacion
OfertasCreditos
  otras ofertas
Canal Compras
+ Canal compras
+canal informatica
+imagen y sonido
+juegos y consolas
+ Directorio Ofertas
secc. empleo
cursos
ir a libros
+ Ganar Dinero
+ Webmasters
+ resto de gente
+ Software
+ ir a software
Lo + descargado
programas para
programas para bajar peliculas
bajar peliculas
programas para bajar musica
bajar musica
programas de seguridad para tu pc
programas google
programas para DJ - mezcladores
programas para webmasters
programas pre-fabricados
+ Tonos y Melodias
Melodias tonos
Juegos java
- Juegos de moviles
+
Busca Logos
+ Logos y Melodias
+ Libros
+ ir a ver los libros
+Recursos CGI
+ ir a seccion
+Ocio
Juegos Flash Online
+Cursos y Masters
cursos y masters
+ Ofertas
ofertas TecNo

+Agregador Blogs
+Otros idiomas
+Webmasters (FR)
+Software (FR)
+Tech (PT)
+Tecnologia (IT)
+Technologie (DE)
+Software (DE)
+Games(DE)
+Software(IT)

Agregador Blogs de:
Home
blogs Tecnologia
blogs Software
blogs Moviles
blogs Internet
blogs Geeks
blogs Informatica
blogs Gadchets
blogs Zona Messenger
blogs Diseño
blogs Recursos Blogs
blogs Webmasters
blogs Programacion
blogs 2.0
blogs Linux
+Nuetros Blogs
Ver Blogs
+Programas Gratis
Programas gratis
+RSS de noticias

RSS PR

 
Programacion:recursosIprogramacionITrucosTecnicosIservicios gratisITowns 2.0IcursosI pueblos españa 2.0 ILibrorama I hablandodemac I
noticias:SaludIcineIMovilesITechIMACINegociosIprog.net IDirectorio de WebsIvideos4you.tvI
Pueblos de: Andalucia-Aragon-Asturias-Baleares-Canarias-Cantabria-Castilla la mancha-Castilla Leon-extremadura-Galicia-la Rioja-Madrid-Murcia-Pais Vasco -
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Creación de las propiedades del control textbox especial con visual basic