Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Controles y clases en Visual Basic, programación (página 2)




Enviado por eduroam



Partes: 1, 2

8. Finalización de un Control

Bueno muchachos no lo van creer,
pero hemos terminado, lo único que falta es indicarle como
compilar el control y
utilizarlo en sus programas,
increíble!!!. Para ser este ultimo paso hagan lo
siguiente:

  1. Dale Click al menú en la parte de "PROYECTO", y
    ahí le das click a Propiedades del Proyecto en
    "Tipo de Proyecto", selecciona "Control
    Activex", en "Objeto Inicial" selecciona ninguno, y en nombre
    del proyecto Escribe "TextBE", y le das click a
    Aceptar.
  2. Ahora le das click a Archivo en el
    menú, y le selecciones "Generar Proyecto1.ocx…."
    verán que le aparece un error (UHY COMO SUFRI PARA
    SOLUCIONAR ESE ERROR), que le dice "No se ha detectado
    ningún control de usuario publico", para solucionar este
    error denle dobleclick al control en la Ventana de Proyecto, en
    la Ventana de propiedades, busquen la propiedad
    Public la cual debería de estar en False, y la cambian a
    True.
  3. Ahora intenta generar el ocx haciendo lo que indica
    el paso 2, veras que ahora te aparece un formulario donde
    decidirás la ubicación de tu ocx, vamos a
    guardarlo en WINDOWS/SYSTEM y en nombre de archivo coloca
    TextBE.ocx, y le dan click a Aceptar.
  4. Si no da ningún error, significa que todo
    salió perfecto, ahora se preguntaran como
    añadimos nuestro control a un proyecto, bueno en el
    menú Archivo, denle click a "Quitar Proyecto", cuando
    tengan todo en blanco, añaden un nuevo proyecto, que
    solamente tenga un formulario, vean en la ventana de controles
    que no aparece nuestro control. Para solucionar eso metanse en
    el menú Proyecto y le dan click a la opción de
    "Componentes……" y buscan por la letra T y verán que
    aparecerá en la lista TextBE lo seleccionan y luego
    Presionan el botón Aceptar.
  5. Verán que se añade un nuevo control,
    VAMOS PRUEBA EL CONTROL!!!!!!!!!.
  6. Para cambiar el icono que muestra el
    control, basta que cuando estén diseñando el
    control en la Ventana Propiedades, busques la propiedad
    "ToolboxBitmap" y le asignes una imagen.

9.
Conclusión

Bueno señores ahora si terminamos, espero que
haber dedicado tiempo a leer
esta parte del curso le halla servido para aprender lo esencial
de la creación de controles, cabe mencionar que este
CONTROL TEXTBOX_ESPECIAL, puede tener muchas fallas, o cosillas
que siempre se escapan, pero bueno eso les queda como tarea para
que practiquen con los controles. Señores diseñando
controles ustedes pueden hacer lo que quieren, ANIMACIONES,
TEXBOX SUPER AVANZADOS, GRAFICOS, lo
que sea, solo hace falta conocer como hace un control, y una gran
imaginación para realizar los mejores controles. A
continuación explicare como diseñar clases en
Visual Basic,
véanla miren que la clase de ejemplo es un asistente
ANIMADO el cual habla y todo que TAL!!!!!, y le puede ser muy
útil.

10 .Introducción
a las Clases

Tal vez cuando le hablan de clases se empiezan a
imaginar un código complicado, enredado, y abstracto,
bueno desde una perspectiva lo es; pero en Visual Basic la
definición o la creación de una clase es muy
sencilla, cuando dije desde una perspectiva es que las clases son
complicadas en Lenguajes que Requieren del 100% de ellas, como
por ejemplo Visual C++,
JAVA, en estos
las clases presentan muchas características que no se presentan en
visual
basic.

Una clase no es nada mas que un Objeto, este objeto,
tiene propiedades, funciones y
métodos,
ahora ustedes se preguntaran bueno esto mismo lo tienen presente
los controles, entonces cual seria la diferencia entre un control
y una clase, bueno para empezar la construcción de una clase no requiere de
tanto "Protocolo"
(ReadProperty, WriteProperty), ahora para la creación de
propiedades si se utiliza Property Let y Property Get; la
diferencia es casi nada, inclusive podría decir que una
clase en visual basic, es
casi lo mismo que un control, pero ahora nace una nueva pregunta,
cuando utilizar un control y cuando utilizar una clase, bueno la
opinión que voy a dar es desde mi perspectiva; yo
usaría un control cuando quiere representar un objeto
grafico en donde el usuario interactúa con él, y
usuaria una clase para manipular la información interna de un programa, es
decir normalmente una clase no suele ser una interfaz grafica,
como por ejemplo, estaba visitando una pagina de Internet y vi una clase que
manipula el DATAREPORT pero de una manera fenomenal, esta clase
se le pasa la información a nivel de código y
emite un reporte dependiendo de la información.

Un ejemplo mas claro de clase, imagínense que
están diseñando un programa
matemático, este programa tiene una parte en donde dibuja
una figura geométrica, muy bien podrían
diseñar un control pero no seria lo adecuado PORQUE?,
bueno porque yo veo a un control como un objeto que el usuario
manipula, usa e interactúa con él, el usuario no va
interactuar con un dibujo de una
figura geométrica, entonces es aquí donde
diseñaría una clase, que realizara todos los
cálculos para dibujar una figura geométrica, la
clases también ayudan a mantener un código
ordenado, y poder
reutilizarlo en cualquier aplicación.

11.
Propiedades,
Funciones y
Eventos.

Esto es exactamente igual que en los controles,
pero tienen que tener un cuenta una cosa, que son las palabras
PUBLIC y PRIVATE, cuando se diseña una clase tienen que
tener cuidado cuando declaran funciones, métodos y
variables, ya
que ustedes tienen que saber que variable es privado y que
variable es publica; una variable PUBLICA puede ser vista por
aquellos quienes usen la clase y la PRIVADA no puede ser vista
sino nada mas por la propia clase, cuando veamos el ejemplo se
entenderá mejor.

12. Diseño
de clase en Visual Basic

Microsoft saco
un programa llamado Microsoft
Agent, este software permite realizar
programas en
cualquier lenguaje,
colocando un asistente animado en 3D, parecido a los que
observamos en OFFICE 2000, para
la realización de esta clase es OBLIGATORIO tener los
siguientes componentes instalados:

  • El programa Microsoft Agent
  • Un idioma instalado para el uso de la
    voz
  • UN asistente o como llama Microsoft en su pagina
    Web un
    "CHARS"

Si tienen el CD N.-3 de
Visual Studio 6.0, metanse en la carpeta
CommonToolsVBMSAgent, en esa carpeta tienen el programa, la
documentación y los CHARS ( o como yo les dijo Asistentes)
o pueden bajar el programa que no ocupa mucho desde la pagina
web
www.microsoft.com/msagent, ahí podrá conseguir todo
para el uso del agente (DIFERENTES Lenguajes de Habla, el
programa actualizado y los 4 Chars que solamente hay en la
actualidad que son: Merlín, Genie, Peedy, Robby). Cuando
instale el programa podrá notar que los Chars se instalan
en la Carpeta de WINDOWS/MSAGENT/CHARS, esto es importante cuando
establezcamos la ubicación a nivel de
código.

Bueno suponiendo que ya tienen instalado todo esto,
empecemos, esta clase puede ser muy útil para desarrollar
programas animados o que requieren un asistente el cual van a ver
que tiene muchas funciones y facilidades.

Para empezar ejecutemos el programa Visual Basic y
cuando le aparezca la ventana "NUEVO PROYECTO" igual a la figura
n.2, seleccionen el icono "DLL Activex", y le dan Doble
Click.

Verán que le aparece un modulo de clase y en este
caso cuando se compila no genera un OCX como el control sino un
DLL. Y se ven los eventos de la
clase notaran que nada mas hay INITIALIZE Y TERMINATE (QUE
COMODIDAD). Bueno lo primero que tienen que tomar cuenta es que a
la clase no se le pueden añadir controles, como
verán no se presenta ningún formulario, y ni
siquiera el fondo gris como el control, señores,
aquí todo es a nivel de CODIGO,
así que prepárense.

13. Creación de la
Clase "ASISTENTE"

Antes de empezar a codificar tenemos que hacer
Referencia a una librería, así que sigan estos
pasos:

  • Denle click a "Proyecto" en el
    menú.
  • Ahora le dan click a "Referencia…"
  • Busca Microsoft Agent 2.0 y lo seleccionan y luego
    le dan click a Aceptar.

Bueno empecemos, para comenzar llamen a la clase
"Asistente" y declaramos nuestras primeras variables que
serán las siguientes:

Private WithEvents agnAsistente As Agent

Private iaCargaAsistente As
IAgentCtlCharacterEx

Private Declare Function GetWindowsDirectory Lib
"kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As
String, ByVal nSize As Long) As Long

Notaran que la es declarado PRIVADA ya que estas
variables solamente pueden ser vista por la CLASE y no por el
programa. La primera variable es el objeto de Microsoft Agent,
este objeto es necesario para invocar al asistente. Verán
que hay una palabra que puede ser nueva para ustedes que es
WITHEVENTS; si tuviésemos un formulario no
tendríamos que poner esta línea de código,
ya que Agent es un control, que con tan solo llamarlo y colocarlo
en el formulario basta para acceder a sus propiedades,
métodos, funciones y eventos, pero
como esto es una clase y no podemos poner un control; si yo
declarara la variables de esta manera Private agnAsistente As
Agent, sin el WITHEVETNS, tendría acceso a las
propiedades, métodos y funciones, PERO NO! A los eventos,
para tener acceso a los eventos hay que colocar WITHEVENTS, por
que resulta que si lo añadiera como un control en un
formulario, cuando arranca el programa, el formulario se encarga
de cargar todos los eventos, propiedades, etc, de ese control,
pero como aquí todo es a nivel de código hay que
ser un poco mas explicito.

La segunda variable es la que vamos a usar para
manipular al CHARS o Asistente, con este objeto podremos moverlo,
animarlo, etc.

Y la tercera variable es un API de Windows lo cual
explicare cuando la utilicemos, nada mas le adelanto que esta API
nos permite conocer el nombre del directorio en donde esta
grabado WINDOWS.

Continuamos, vamos a declara ahora todas las variables
que vamos a usar en el programa:

Enum Idioma ‘ Variable que nos permite saber el
idioma en que hablara el CHAR

EnglishUS = &H409

EnglishGB = &H809

French = &H40C

Italian = &H410

Portuguese = &H816

Spanish = &HC0A

End Enum

Enum Muñeco ‘ Variable que no permite
seleccionar que CHAR se ejecutara

Genie = 0

Merlin = 1

Robby = 2

Peedy = 3

End Enum

Enum Accion ‘ Las diferentes animación de
los CHAR

Acknowledge

Alert

Announce

Blink

Confused

Congratulate

Decline

DoMagic1

DoMagic2

DontRecognize

Explain

GestureDown

GestureLeft

GestureRight

GestureUp

GetAttention

GetAttentionContinued

GetAttentionReturn

Greet

Hearing_1

Hearing_2

Hearing_3

Hide

Idle1_1

Idle1_2

Idle1_3

Idle1_4

Idle2_1

Idle2_2

Idle3_1

Idle3_2

LookDown

LookDownReturn

LookLeft

LookLeftReturn

LookRight

LookRightReturn

LookUp

LookUpReturn

MoveDown

MoveLeft

MoveUp

MoveRight

Pleased

Process

Processing

Read

ReadContinued

Reading

ReadReturn

RestPose

Sad

ShowA

Search

Searching

StartListening

StopListening

Suggest

Surprised

ThinkW

Thinking

Uncertain

Wave

WriteA

WriteContinued

WriteReturn

Writing

End Enum

Dim intAccion As Integer ‘ Determina que accion
esta activo y lista para ejecutar

Dim strWindows As String ‘ Determina la carpeta
donde esta instalado WINDOWS

Dim strMuñeco As String ‘ Determina que
muñeco fue elegido por el usuario

Dim bytInicio As Byte ‘ Indica si hay un
Muñeco activo

Dim Array_Accion(1 To 67) As String ‘ Lista de
todas las acciones del
CHAR

Dim bolBalloon As Boolean ‘ Determina se presenta
un BALLON para presentar el texto (EL
BALLON es como el globo que aparece en las tiras cómicas
donde se escribe el mensaje)

Dim bolAutoHide As Boolean ‘ Determina si se
esconde el BALLON cuando termina de presentar el
mensaje

Dim bolAutoSpace As Boolean ‘ Determina el espacio
entre las frases

Dim bolSonido As Boolean ‘ Determina si las
animaciones presentaran sonidos

El uso de la variable lo pueden ver en el comentario que
les coloco al lado. Recomiendo que antes de entrar mas al
programa se lean un poco la documentación del Microsoft
Agent, ya que lo que viene ahora es mas CODIGO que
explicación, recuerden estoy explicando CLASES no
AGENT.

Ahora en el evento Initialize de la clase "Asistente"
coloque este código:

Private Sub Class_Initialize()

Set agnAsistente = New Agent

Carpeta_Windows

bytInicio = 0

bolAutoSpace = True

bolAutoHide = True

bolBalloon = True

Array_Accion(1) = "Acknowledge"

Array_Accion(2) = "Alert"

Array_Accion(3) = "Announce"

Array_Accion(4) = "Blink"

Array_Accion(5) = "Confused"

Array_Accion(6) = "Congratulate"

Array_Accion(7) = "Decline"

Array_Accion(8) = "DoMagic1"

Array_Accion(9) = "DoMagic2"

Array_Accion(10) = "DontRecognize"

Array_Accion(11) = "Explain"

Array_Accion(12) = "GestureDown"

Array_Accion(13) = "GestureLeft"

Array_Accion(14) = "GestureRight"

Array_Accion(15) = "GestureUp"

Array_Accion(16) = "GetAttention"

Array_Accion(17) = "GetAttentionContinued"

Array_Accion(18) = "GetAttentionReturn"

Array_Accion(19) = "Greet"

Array_Accion(20) = "Hearing_1"

Array_Accion(21) = "Hearing_2"

Array_Accion(22) = "Hearing_3"

Array_Accion(23) = "Hide"

Array_Accion(24) = "Idle1_1"

Array_Accion(25) = "Idle1_2"

Array_Accion(26) = "Idle1_3"

Array_Accion(27) = "Idle1_4"

Array_Accion(28) = "Idle2_1"

Array_Accion(29) = "Idle2_2"

Array_Accion(30) = "Idle3_1"

Array_Accion(31) = "Idle3_2"

Array_Accion(32) = "LookDown"

Array_Accion(33) = "LookDownReturn"

Array_Accion(34) = "LookLeft"

Array_Accion(35) = "LookLeftReturn"

Array_Accion(36) = "LookRight"

Array_Accion(37) = "LookRightReturn"

Array_Accion(38) = "LookUp"

Array_Accion(39) = "LookUpReturn"

Array_Accion(40) = "MoveDown"

Array_Accion(41) = "MoveLeft"

Array_Accion(42) = "MoveUp"

Array_Accion(43) = "MoveRight"

Array_Accion(44) = "Pleased"

Array_Accion(45) = "Process"

Array_Accion(46) = "Processing"

Array_Accion(47) = "Read"

Array_Accion(48) = "ReadContinued"

Array_Accion(49) = "Reading"

Array_Accion(50) = "ReadReturn"

Array_Accion(51) = "RestPose"

Array_Accion(52) = "Sad"

Array_Accion(53) = "Search"

Array_Accion(54) = "Searching"

Array_Accion(55) = "Show"

Array_Accion(56) = "StartListening"

Array_Accion(57) = "StopListening"

Array_Accion(58) = "Suggest"

Array_Accion(59) = "Surprised"

Array_Accion(60) = "Think"

Array_Accion(61) = "Thinking"

Array_Accion(62) = "Uncertain"

Array_Accion(63) = "Wave"

Array_Accion(64) = "Write"

Array_Accion(65) = "WriteContinued"

Array_Accion(66) = "WriteReturn"

Array_Accion(67) = "Writing"

End Sub

Aquí hay una línea de código que es
importante explicarle que es:

Set agnAsistente = New Agent

Cuando nosotros declaramos un objeto:

Dim Nombre_del_Objeto as Objeto

En nuestra clase el ejemplo es:

Private WithEvents agnAsistente As Agent

El objeto agnAsistente todavía no se ha
inicializado, es decir no esta en memoria, para
iniciarlo o activarlo hay que hacer lo que se llama una
referencia al objeto esto se logra de esta manera:

Set agnAsistente = New Agent

Es aquí cuando el objeto se inicializa en
la memoria, si
ustedes no hacen esto cuando vayan a usar el objeto para
cualquier utilidad, Visual
Basic les indicara un error, de que "la variable no ha sido
establecida", esto es porque se "DECLARO", pero no se inicializo,
para inicializarla tienen que escribir la línea antes
expuesta, NOTA: Esto solo se hace cuando se hacen referencias a
OBJETOS.

Vamos ahora a declarar las propiedades, para eso
escriban lo siguiente:

Public Property Get Sound() As Boolean

Sound = bolSonido

End Property

Public Property Let Sound(ByVal NuevoValor As
Boolean)

iaCargaAsistente.SoundEffectsOn = NuevoValor

End Property

Public Property Get Balloon() As Boolean

Balloon = bolBalloon

End Property

Public Property Let Balloon(ByVal NuevoValor As
Boolean)

bolBalloon = NuevoValor

If bolBalloon Then

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style Or 1

Else

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style And 0

End If

End Property

Public Property Get AutoHide() As Boolean

AutoHide = bolAutoHide

End Property

Public Property Let AutoHide(ByVal NuevoValor As
Boolean)

bolAutoHide = NuevoValor

If bolAutoHide Then

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style Or 4

Else

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style And -5

End If

End Property

Public Property Get AutoSpace() As Boolean

AutoSpace = bolAutoSpace

End Property

Public Property Let AutoSpace(ByVal NuevoValor As
Boolean)

bolAutoSpace = NuevoValor

If bolAutoSpace Then

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style Or 8

Else

iaCargaAsistente.Balloon.Style =
iaCargaAsistente.Balloon.Style And -9

End If

End Property

Private Sub agnAsistente_Command(ByVal UserInput As
Object)

If UserInput.Name = "Opciones" Then

agnAsistente.PropertySheet.Visible = True

End If

End Sub

Esto ya ustedes lo deben de saber de memoria, ya que
es lo mismo que en los controles, con la diferencia que
aquí los propiedades las vemos a nivel de código y
no a nivel de diseño.

Ahora introduzcan los siguientes métodos y la
única función de la Clase:

Public Sub Show(ByVal LenguajeID As Idioma, ByVal GUIA
As Muñeco)

Select Case GUIA

Case 0

strMuñeco = "genie"

Case 1

strMuñeco = "merlin"

Case 2

strMuñeco = "peedy"

Case 3

strMuñeco = "robby"

End Select

If bytInicio = 1 Then

Unload

End If

agnAsistente.Characters.Load "CharacterID", strWindows
& "msagentchars" & strMuñeco &
".acs"

Set iaCargaAsistente =
agnAsistente.Characters("CharacterID")

iaCargaAsistente.Commands.Add "Opciones", "&Opciones
Avanzadas"

iaCargaAsistente.LanguageID = LenguajeID

iaCargaAsistente.Show

iaCargaAsistente.Left = Screen.Width 15 –
iaCargaAsistente.Width – 50

iaCargaAsistente.Top = Screen.Height 15 –
iaCargaAsistente.Height – 50

bytInicio = 1

End Sub

Public Sub Unload() ‘ Metodo utilizado para quitar
el CHAR

agnAsistente.Characters.Unload "CharacterID"

End Sub

Public Sub Speak(ByVal strOracion As String) ‘
Metodo utilizado para HABLAR

iaCargaAsistente.Speak strOracion

End Sub

Public Sub Think(ByVal strOracion As String) ‘
Metodo utilizado para PENSAR

iaCargaAsistente.Think strOracion

End Sub

Public Sub Move(x As Integer, y As Integer) ‘
Metodo para mover el Char

iaCargaAsistente.MoveTo x, y

End Sub

Public Sub Action(accNombre As Accion) ‘ Metodo
para ejecutar una accion del Char

iaCargaAsistente.Play Array_Accion(accNombre +
1)

End Sub

Private Sub Carpeta_Windows() ‘ Metodo para
localizar la carpeta de WINDOWS

Dim Temp As String

Dim Ret As Long

Const MAX_LENGTH = 145

Temp = String$(MAX_LENGTH, 0)

Ret = GetWindowsDirectory(Temp, MAX_LENGTH)

Temp = Left$(Temp, Ret)

If Temp <> "" And Right$(Temp, 1) <> ""
Then

strWindows = Temp & ""

Else

strWindows = Temp

End If

End Sub

Public Function Animations(ByVal indice As Integer) as
String ‘ Metodo para extraer el nombre de las
animaciones

Animations = Array_Accion(indice)

End Function

Public Sub Stop_Asistente() ‘ Metodo que frena
cualquier animiacion del CHAR cuando se ejecuta una
animación continua

iaCargaAsistente.Stop

iaCargaAsistente.Play "RestPose"

End Sub

Bueno señores, estamos listo, ahora vamos a
probar nuestra clase, noten que volvemos a usar el
SET:

Set iaCargaAsistente =
agnAsistente.Characters("CharacterID")

Recuerden que iaCargaAsistente nada mas se declaro y no
se Referencio, bueno aquí es donde la estamos
inicializando.,

Los métodos declarados son sencillos, lo que
tienen es que documentarse un poco sobre como funciona el
Microsoft Agent, después de eso, es fácil entender
el código, y ni siquiera con tan solo ver el código
ya se puede suponer para que sirve cada instrucción que
usamos.

La única que se puede ver un poco extraña
es el método
"Carpeta Windows", este método
establece el nombre de la carpeta donde fue grabado Windows,
recuerden que mencione que el MS Agent, se instala en la carpeta
de Windows, y nos es lo mismo el nombre en Windows 95/98
(C:/Windows) que NT/2000 (C:/WINNT), esa es la razón del
porque es importante ubicar la carpeta de Windows.

Vamos a añadir un formulario en el proyecto donde
tenemos nuestra clase, y en el formulario van a colocar un
TextBox, 3 Botones, y un listabox.

En la parte de Declaraciones coloquen las siguiente
línea de código:

Dim asis As New Asistente

Este es una forma de simplificar estas dos lineas en una
sola:

Dim asis as Asistente

Set asis = New Asistente

Y en el evento click del botón (command1)
colocan:

Private Sub Command1_Click()

asis.Show Spanish, Merlin

End Sub

NOTA: verán que cuando le dan a espaciadora
después de escribir Show, se le mostrara una lista con las
diferentes opciones del lenguaje y
luego una lista de las CHARS que se pueden elegir, eso sucede
debido a que declaramos las variables de tipo ENUM sino no!!, no
aparecieran.

NOTA 2: Merlín es un Char el cual yo supongo que
ustedes ya lo tienen instalado, si tienen otro cambien el nombre
por el que tienen, y el idioma también supongo que la
tienen instalado, aunque el idioma no afecta el funcionamiento de
CHARS, sino afecta cuando el muñeco vaya a
hablar.

Ahora para arrancar nuestro formulario sigan estos
pasos:

  • Denle click en "Proyecto" en el
    menú
  • Luego en "Propiedades del
    Proyecto1…."
  • En tipo de proyecto seleccionen EXE Estándar
    y en Objeto Inicial Form1

Ahora ejecuten el proyecto y denle click al botón
Command1 verán que le aparece el CHARS en la esquina
inferior derecha, IMPRESIONANTE NO!!. Salgan del
formulario.

En el evento clic del Command2 coloquen:

Private Sub Command2_Click()

asis.Speak text1.Text

End Sub

Y en el Command3:

Private Sub Command3_Click()

asis.Think text1.Text

End Sub

Ejecuten el programa y coloquen en el TEXTBOX que esta
en el formulario "HOLA", sin las comillas por supuesto. Y denle
click primero al botón Command1 para que se cargue el
Asistente o Char, luego denle al botón Command2 y
verán que el CHARS habla lo que ustedes escribieron en el
TEXTBOX, (eso si configuraron el idioma), y si le dan al
botón Command3 el CHARS no hablara pero si mostrara el
Texto, esto es
porque ahí esta PENSANDO (THINK) y no HABLANDO
(SPEAK).

Ahora vamos a ver las animaciones que tienen los
CHARS:

Para ello agrega en el evento LOAD del formulario lo
siguiente:

Private Sub Form_Load()

For i = 1 To 67

List1.AddItem asis.Animations(i)

Next

End Sub

Y en el evento DobleClick del control List1 agreguen lo
siguiente:

Private Sub List1_DblClick()

asis.Action List1.ListIndex

End Sub

Y agrega dos botones Command4 y Command5 y en el evento
Clic de cada uno coloca lo siguiente:

Private Sub Command4_Click()

asis.Move 150, 150

End Sub

Private Sub Command5_Click()

asis.Stop_Asistente

End Sub

Ahora ejecuten el proyecto verán que el cuadro
List1 se lleno con las diferentes animaciones del CHAR ahora
denle click a Command1, luego denle DobleClick a las diferentes
animaciones que están en el List1 y verán como el
CHAR se empieza a mover, después que maten su curiosidad
denle Click a el Command4 para que vean como se mueva el CHAR de
un sitio a otro.

Bueno señores, esto es toda la clase OBVIAMENTE,
no esta lo suficientemente SÓLIDA, que quiero decir con
esto, ahora ustedes le tienen que acomodar los detalles, como por
ejemplo si le dan al botón Command2 sin escribir nada el
CHAR les lanza un error ya que no acepta cadena NULLSTRING, o si
le dan a cualquiera de las animaciones o le dan a los botones
Command2, Command3 y Command4, antes de cargar el asistente
también les dará un error, quedara de tarea para
ustedes si consideran útil esta clase en acomodar esos
pequeñísimos detalles.

Ahora vamos a dar los pasos para compilar una
clase:

  • Primero denle clic a "Proyecto" en el menú,
    y luego a "Propiedades del Proyecto….", en tipo de proyecto
    seleccionan DLL Activex y en objeto inicial ninguno y en
    nombre de proyecto ponen Asistente_Animado.
  • Al igual que el control si lo intentan compilar les
    va a decir que el objeto no es publico y que no se puede
    compilar para solucionar eso, se meten en las propiedades del
    control, y en la propiedad INSTANCING seleccionan la
    opción 6 que es GLOBALMULTIUSE y ahora si pueden
    compilar, igual que el control seleccionen la carpeta de
    WINDOWS/SYSTEM y le colocan al nombre del archivo
    Asistente_Animado y le dan click a Aceptar.
  • Entonces se procede a compilar el
    archivo.
  • Para utilizarlo en sus proyectos
    solamente tienen que buscar en Referencias la librería
    Asistente_Animado, la seleccionan, y recuerdan que cuando
    declaran una variable que hace referencia a un objeto
    seria:

Dim Variable as Asistente

En Load del formulario:

Set Variable = New Asistente

Asistente es el nombre que le dimos a nuestra
clase.

14. Conclusión
FINAL

Bueno espero que le sea útil, lo que aprendieron
con este curso FLASH sobre
controles y clases, en realidad esto dos temas son muchos mas
amplios pero aquí logre enfocarme en lo básico, ya
los que le queda a ustedes es empezar a echar código, es
importante, por que algunos se preguntaran PARA QUE APRENDER
ESTO, con estas dos técnicas CONTROLES y CLASE
desarrollamos códigos mas fácil de mantener, mas
legibles, y la hora de conseguir una falla resulta mas
rápido, estas técnicas nos ayudan a perfeccionar e
idear nuevas técnicas que pueden beneficiar tanto a
ustedes como a muchas personas, si poseen imaginación les
aseguro que no habrá limite para la creación de
nuevo objetos.

CATEGORIA:PROGRAMACION.

Que es un control?. Como diseñar un control en Visual
Basic. Propiedades de un Control. Métodos de un control.
Eventos. Detalles de la creación de un control. Que es una
Clase?. Propiedades de una clase. Compilación de un
control y una clase. Ejemplo de un control. Ejemplo de una Clase
(Asistente Animado).

Trabajo enviado y realizado por:
Eduardo Roa.

Caracas, Venezuela.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter