Tema: Crear OCX
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/11/2009, 14:36
cborrero
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Crear OCX

Bueno, no vamos a teorizar demasiado, porque es aburrido. Para crear un control OCX,
vamos a abrir VB como todos los días y vamos a crear un proyecto "EXE Estandar" y le vamos
a agregar uno de tipo "Control ActiveX". De tal forma que nos quede formado un Grupo de
Proyectos que los incluya a los dos. El control que crearemos será uno que nos permita
apagar win, reiniciarlo, etc.
Seleccionamos la propiedad "InvisibleAtRunTime" y la ponemos en true, ya que nuestro
control no será visible durante la ejecución del proyecto en el que se encuentre.
Podemos ver que nuestro control es como un form normal, pero sin bordes, ahora inserta un
image (Image1) y ponle como picture un icono que te parezca representativo de lo que va a
hacer nuestro control.
En el evento "Resize" del UserControl pon lo siguiente...

Private Sub UserControl_Resize()
Image1.Top = 0
Image1.Left = 0
UserControl.Height = Image1.Height
UserControl.Width = Image1.Width
End Sub

Esto hará que el control se vea en el form como si fuera solo el icono del image (igual a lo
que pasa con un control Timer).
Ahora debemos crear los Metodos que poseerá nuestro control, para eso ve al menú
"Complementos", de ahí a "Administrador de Complementos" y haz doble clic sobre
"Asistente para interfaz de controles ActiveX de VB" de forma que al lado diga "Cargado",
pulsa "Aceptar".
El "Asistente para interfaz de controles ActiveX de VB" es un asistente que nos guiará paso a
paso en la asignación de métodos para nuestro control. Otra vez ve a "Complementos", allí
te aparecerá una nueva opción, que es el asistente. Ábrelo y pulsa "Siguiente". En el cuadro
"Nombres Disponibles" tienes todos los métodos mas comunes que puedes insertar, en
"Nombres Seleccionados" no dejes nada y pulsa "Siguiente". En esta nueva ventana podemos
definir métodos personalizados.
Clic en "Nuevo" y crea estos métodos...
1. "Dialogo_Apagar"
2. "Cerrar_Sesion"
3. "Apagar_Sistema"
4. "Reiniciar_Sistema"
5. "Forzar_Apagado"

No te olvides de poner a cada uno como "Metodo" en el cuadro "Tipo". Dale a "Siguiente", en
el cuadro siguiente no hacemos nada, así que "Siguiente" de nuevo.
El cuadro que nos salteamos te permite decir a cual de los componentes insertados en tu
control corresponden los métodos que tengas puestos (de los que aparecían en "Nombres
Disponibles") ya que hay métodos que lo tienen mas de uno de los controles insertados y
esto se presta a confusiones.
En la ventana en la que nos encontramos ahora podemos agregarle una descripción a cada
cosa y designar que valor retorna una función. Pongan una descripción a cada método si
quieren, aunque los nombres que tienen son bastante descriptivos. No cambien nada en lo
de "Tipo Devuelto". Denle a "Siguiente" y a "Finalizar".

Vamos al código de control. Tenemos que declarar las APIs que realizaran las operaciones
necesarias:
Esta nos permitirá mostrar el dialogo de "Apagar el Sistema":
Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" (ByVal YourGuess As
Long) As Long


espero que te ayude ok!!!!. ( es un buen control) jajajaja. solo que no lo uses para los que hacen troyanitos por ahi.