Resultados 1 al 10 de 10

Tema: Creando un OCX

  1. #1
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Creando un OCX

    El Visual Basic, nos permite la fascinante posibilidad de crear nuestros propios controles.
    Esta posibilidad resulta muy útil, ya que podemos incluir en nuestro control, todo el código que necesitemos. Código que sólo habrá que tipear una sola vez, al crear el control, a pesar de que éste sea utilizado en muchas ocasiones dentro del sistema.

    En este tema, iré explicando, paso a paso, cómo crear un control OCX personalizado.



    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  2. #2
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Nuestro control personalizado, contendrá el nombre de todas las provincias argentinas, y una abreviatura de cuatro letras para cada una de ellas.

    Lo primero que tenemos que hacer, es crear un nuevo proyecto VB.

    Seleccionamos la opción "Nuevo Proyecto" del menú "Archivo"
    Nos aparecerá una ventana con todas las opciones de proyectos que tenemos. De entre todos estos, seleccionamos "Control ActiveX"




    De esta manera, se creará un nuevo proyecto, en el que definiremos nuestro control. La pantalla en este tipo de proyectos, es algo diferente a una aplicación EXE normal.
    Consta sólo de un pequeño recuadro gris (este recuadro, será posteriormente, el fondo de nuestro control)

    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  3. #3
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Ahora, vamos a identificar nuestro control.

    Primero, en el nombre del proyecto (\Proyecto\Propiedades de Proyecto1) colocaremos en el espacio "Nombre de proyecto:" el texto "Provincias".
    Éste ("Provincias") será el nombre de nuestro control (el nombre completo, será, cuando esté creado, "PROVINCIAS.OCX")

    Volviendo al control, en las propiedades de éste (Pulsar F4 para acceder a ellas), seleccionaremos "(Nombre)", y colocaremos el valor "Provincias" y dejaremos las otras propiedades como están.

    Listo... nuestro control está identificado.


    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  4. #4
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Ahora, le agregaremos a nuestro control, un ComboBox, que contendrá en su propiedad "List", el nombre de todas las provincias argentinas.

    A este ComboBox, le pondremos como nombre "cmbProvincias", y le daremos un tamaño adecuado a los nombres de las provincias.

    Luego, haremos que el fondo de nuestro control, sea apenas un poco más grande que la ComboBox.

    El control, en este punto debería estar quedándoles aproximadamente así:




    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  5. #5
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Bien. Ahora, crearemos las dos propiedades que harán que nuestro control se diferencie del resto, y nos sea de utilidad en nuestros sistemas...

    Para crear una propiedad de un control, tenemos dos alternativas:
    1 - Que sea una propiedad de sólo lectura (Es decir, que cuando estemos ejecutando el sistema, no podremos fijarle un valor, sino sólo saber cuál es)
    Para definir una propiedad de sólo lectura, se debe declararla de la siguiente manera:
    Código:
    	  Public Property Get nombrepropiedad
    2 - Que sea una propiedad de escritura. Es decir, que podamos fijarle un valor al ejecutar el sistema. Para definir una propiedad de escritura, se la declarará de la siguiente manera:
    Código:
    	  Public Property Let nombrepropiedad

    Dijimos que el control debería devolver el nombre de la provincia, y una abreviatura de 4 letras de éste. Estas dos propiedades, serán de sólo lectura, ya que estos valores no pueden ser cambiados.


    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  6. #6
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Vamos a comenzar con la primera de las propiedades. La que contendrá el Nombre de la Provincia seleccionada en la ComboBox (recordemos que en la ComboBox, están almacenados todos los nombres completos de las provincias, en la propiedad "List" de la ComboBox)

    Para esto, en el código del control, tipeamos lo siguiente:

    Código:
    Public Property Get Nombre()
    	   Nombre = cmbProvincias.Text
    End Property
    Y con esto, ya tenemos definida la propiedad que contendrá el nombre de la provincia elegida...



    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  7. #7
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Pasamos a la segunda propiedad, la que devolverá la abreviatura correspondiente a la provincia seleccionada. Para esto, tipearemos el siguiente código:

    Código:
    Public Property Get Abreviatura()
    Select Case cmbProvincias.ListIndex
    Case Is = 0: Abreviatura = "BSAS" ' Buenos Aires Case Is = 1: Abreviatura = "CATA" ' Catamarca Case Is = 2: Abreviatura = "CHCO" ' Chaco Case Is = 3: Abreviatura = "CHUB" ' Chubut Case Is = 4: Abreviatura = "CFED" ' Capital Federal Case Is = 5: Abreviatura = "CORD" ' Córdoba Case Is = 6: Abreviatura = "CORR" ' Corrientes Case Is = 7: Abreviatura = "ENRI" ' Entre Ríos Case Is = 8: Abreviatura = "JJUY" ' Jujuy Case Is = 9: Abreviatura = "LPAM" ' La Pampa Case Is = 10: Abreviatura = "LRIO" ' La Rioja Case Is = 11: Abreviatura = "MEND" ' Mendoza Case Is = 12: Abreviatura = "MISI" ' Misiones Case Is = 13: Abreviatura = "NEQN" ' Neuquén Case Is = 14: Abreviatura = "RNEG" ' Río Negro Case Is = 15: Abreviatura = "SLTA" ' Salta Case Is = 16: Abreviatura = "SNJN" ' San Juan Case Is = 17: Abreviatura = "SNLS" ' San Luis Case Is = 18: Abreviatura = "FORM" ' Formosa Case Is = 19: Abreviatura = "STFE" ' Santa Fe Case Is = 20: Abreviatura = "SGOE" ' Santiago del Estero Case Is = 21: Abreviatura = "TAIA" ' Tierra del Fuego Case Is = 22: Abreviatura = "TUCU" ' Tucumán Case Is = 23: Abreviatura = "SCRU" ' Santa Cruz
    End Select
    End Property

    Y ya tenemos listas las dos propiedades de nuestro control.


    .
    Última edición por Arielo; 04/03/2008 a las 13:50 Razón: agregados nombres de las provincias, para los no argentinos
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  8. #8
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Ahora, sólo queda:

    1 - Generar nuestro control (\Archivo\Generar Provincias.OCX...).
    Generarlo en la carpeta Windows\System32 (si tenemos Win XP) o en Windows\System (Si tenemos Win 98 o ME)

    2 - Registrarlo
    Para esto, ir a la carpeta donde creamos nuestro control y tipear lo siguiente:
    REGSVR32.EXE Provincias.ocx

    Una vez finalizados estos dos pasos, estaremos en condiciones de utilizar nuestro control en cualquiera de los sistemas que hagamos...





    .
    Última edición por Arielo; 03/01/2008 a las 15:00
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  9. #9
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Lo lamento, pero olvidé subir el cómo utilizar el control recién creado, en nuestras aplicaciones.

    Para esto, habrá que cargarlo en un proyecto nuevo.
    Proceder de la siguiente manera:

    * En la ToolBox del Visual Basic, hacer un clic derecho en cualquier parte no ocupada por uno de los controles estándares.
    * Seleccionar la primera opción: "Componentes..."
    * Aparecerá una ventana con tres solapas ("Controles", "Diseñadores", "Objetos Insertables") con el foco en "Controles". Una parte de esta ventana, contiene todos los controles que podemos insertarle a nuestro proyecto, además de un botón ("Examinar...")
    * Buscamos nuestro control entre los que están disponibles
    * Cuando lo encontremos, hacemos clic sobre el recuadro en blanco a la izquierda del nombre de éste, para tildarlo.
    * Hacer clic en "Aceptar"
    * En la caja de herramientas, estará disponible un nuevo control: PROVINCIAS.OCX
    * Para utilizarlo en nuestra aplicación, sólo hay que agregarlo en el FORM donde queremos (o necesitamos) utilizarlo

    .
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

  10. #10
    Registrado Avatar de Arielo
    Fecha de ingreso
    07 sep, 06
    Ubicación
    Abya Yala
    Mensajes
    8,152

    Predeterminado Re: Creando un OCX

    Por defecto, cuando agreguemos nuestro control en un form, éste se llamará Provincias1, Provincias2, Provincias3, y así...

    El nombre de la provincia seleccionada, estará almacenado en la propiedad "Nombre"
    La abreviatura de la misma, estará almacenada en la propiedad "Abreviatura"

    Ejemplo:

    Código:
    
    MsgBox Provincias1.Nombre  ' Devuelve nombre de la provincia elegida
    MsgBox Provincias1.Abreviatura  ' Devuelve abreviatura de provincia elegida

    Espero que este pequeño instructivo les sea de utilidad...

    Saludos!!
    Rara paradoja de la vida: comúnmente, a militares genocidas se les premia dándoles su nombre a calles, mientras que a científicos que salvan vidas, dándoles su nombre a virus y bacterias ...
    ----------
    El 75% de las personas, deja sin terminar lo que estaba hac

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •