Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse. - Mayo 16, 2008, 12:35:37
Boton Buscar
Inicio Ayuda Calendario Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: Tughack)  |  Tema: Creando efectos en los formularios 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Creando efectos en los formularios  (Leído 23 veces)
SOADER (ANYD00M)
Colaborador
*****
Desconectado Desconectado

Mensajes: 651


.:Beethoven's Count:.

maxigile_tl@hotmail.com
Ver Perfil Email
« en: Mayo 01, 2008, 06:32:19 »

Como todos saben VB no es todo escribir codigo, disponemos de un manejo de controles en tiempo de diseño el cual nos permite mas “flexibilidad” a la hora de crear una interfaz. El Formulario o Form, lo que representa a la ventana contiene propiedades. Dichas propiedades varian y sirven para diferentes cosas; algunas nos serviran para varias cosas…
Quiero destacar una cosa, el formulario es como cualquier control. Pero en tiempo de ejecución es una ventana mas de Windows. Podriamos ponerlo asi:
En tiempo de diseño: Formulario
En tiempo de ejecución: Ventana
Una ventana va contener 4 propiedades fundamentales, las cuales permiten, de alguna manera “manejar” por asi decirlo, el formulario:
La propiedad Top: Es la ubicación en la pantalla de la ventana, se toma como punto el esquinero superior izquierdo del formulario. La propiedad Top sera la ubicacion en linea vertical, donde el valor aumenta de arriva hacia abajo.
La propiedad Left: Va a ser la ubicación de la ventana en pantalla, pero corresponde a una linea horizontal. El valor de Left aumenta de izquierda a derecha.
La propiedad Height: Corresponde al largo de la ventana, esta propiedad va a alargar la ventana solo modificando la parte inferior, es decir, la parte de debajo de l aventana. Mientras que la parte de arriva se mantiene estatica.
La propiedad Width: Va a ser el ancho de la ventana, como sucede con Height, solo modificara la parte derecha de la ventana mientras que la izquierda se mantiene estatica.



Lo que vemos en la imagen de color rojo es lo que nunca se “mueve”, por asi decirlo, en una ventana. Mientras que los otros lados pueden alargarse o achicarse. 



Aquí, lo que se marca con azul es la propiedad Width, básicamente es una representación abstracta de ella. Es la parte que se modifica cuando usamos Width.



Y aquí la representación de Height. Al igual que Width, esta es la zona que se modifica si modificamos la propiedad Height.

En la primer imagen, vemos la zona marcada con rojo, dichas zonas son estaticas, lo que representan a Top y a Left.
Como dije anteriormente Top nos cambiara la posición de la ventana en linea vertical, tomando como punto la esquina superior izquierda, así que Top podriamos decir que es la line roja que se ubica en fomra horizontal (en la imagen). Mientras que left seria la que esta de forma vertical.
La posición 0,0 del formulario corresponde a la posición de l aventana en la esquina superior izquierda de la pantalla. Seria algo asi:



Aquí el fondo negro representa a l apantalla. Espero vayan entendiendo a lo que voy…
La utilización de estas propiedades en momento de ejecución nos va  servir para muchas cosas, pero nosotros lo usaremos para crear efectos.
Todos los efectos van a necesitar de un Timer, asi por ejemplo podemos achicar 100 veces la propiedad height cada 1 milisegundo y la ventana se reducira hasta quedar solo la barra de titulo.
A continuación les dare algunos efectos:

Efecto a la apertura de la ventana:
Estos efectos se produciran cuando la ventana sea abierta…

Achicando la ventana[/u]
-Este efecvto achicara la ventana hasta que quede reducida a un cuadradito, y al llegar a    dicho cuadradito volvera su tamaño normal.
Lo que necesitamos primero es obtener el tamaño normal e inicial de la ventana, esto se hara al cargar el formulario y almacenaremos los datos en una variable para cada uno. Dichas variables vamos a hacerlas globales para poder acceder a ellas luego en la funcion que restaurar la pantalla. Así que nos situamos en la parte superior del codigo y ponemos esto:
Código: (vb)
Dim X1 As Integer, X2 As Integer
Dim Y1 As Integer, Y2 As Integer
Luego al cargar el formulario le pondremos los datos de la ventana:
Código: (vb)
Private Sub Form_Load()
Y1 = Form1.Height
X1 = Form1.Width
X2 = Form1.Top
Y2 = Form1.Left
End Sub
Ahora vamos al Timer, en mi caso voy a aumentar la propiedad Top y la propiedad Left, para hacer que se valla la ventana hacia el centro de la pantalla. Y disminuire las propiedades Height y Width para achicar hacia la izquierda y hacia arriva la ventana. Asi lograremos un efecto de “achique” xP
Pero antes de esto, vamos a tener que comprobar el tamaño en que se encuentra la ventana, y si este tamaño es en el que queremos que termine la ventana, desactivamos el timer, restablecemos la ventana a su tamaño normal y terminamos todo. En mi caso hare que el efecto temrine cuando la ventana sea de 1785 de ancho y  1425 de largo:
Código: (vb)
Private Sub Timer1_Timer()
If Form1.Height <= 1425 Then
    If Form1.Width <= 1785 Then
        Timer1.Enabled = False
        Call Restablecer
        Exit Sub
    End If
End If
Form1.Top = Form1.Top + 50
Form1.Left = Form1.Left + 50
Form1.Height = Form1.Height - 100
Form1.Width = Form1.Width - 100
End Sub
Y por ultimo una funcion que reestablecera la ventana a su tamaño inicial cuando el efecto halla finalizado:
Código: (vb)
Private Sub Restablecer()
Form1.Height = Y1
Form1.Width = X1
Form1.Top = X2
Form1.Left = Y2
End Sub



Volar hacia adentro:
Este efecto es le tipico volar hacia adentro. Donde ubicamos la ventana en la esquina superior derecha de la pantalla y hacemos que venga en diagonal hasta el centro de la misma. Veamos:

Primero ponemos la ventana en la esquina de arriva de l apantalla hacia la derecha. Esta ubicación seria un Top 0 y un Left 15000 (son los datos que yo usare y son aproximados):

Código: (vb)
Private Sub Form_Load()
Form1.Top = 0
Form1.Left = 15000
End Sub

Luego el timer, en este efecto solo usamos Top y Left. A left lo tenemos que disminuir para que vaya hacia la izquierda y a top aumentar para que vaya hacia abajo, efecto final: Diagonal hacia la izquierda :p

Código: (vb)
Private Sub Timer1_Timer()
If Form1.Top >= 3840 Then
    If Form1.Left <= 5280 Then
    Form1.Top = 3840
    Form1.Left = 5280
    Timer1.Enabled = False
    Exit Sub
    End If
End If
Form1.Top = Form1.Top + 40
Form1.Left = Form1.Left - 100
End Sub



Una vueltita y adentro!
Este efectoe s un tanto mas comlicado. Lo que haremos sera dar una vueltita por la pantalla y luego ponernos en el centro de ella. Para esto vamosa usar 4 timers:
Timer1: Va hacer que la ventana vaya en el borde izquierdo de la pantalla, de abajo hacia arriva.
Timer2: Va a hacer que la venta, una vez que esta en la parte izquierda de la ventana y arriva, vaya por el borde de arriva de izquierda a derecha.
Timer3: Hace que la ventana vaya del borde derecho, de arriva hacia abajo.
Timer4: Va por la parte de debajo de la ventana, de derecha a izquierda, y al llegar a la posiciopn en la que empezamos, se pone en el centro a la ventana.

Las coordenadas varian dependiendo de cada uno, yo use estas, ustedes pueden arreglarlo a su manera:

Código: (vb)
Private Sub Form_Load()
Form1.Top = 11000
Form1.Left = 0
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If Form1.Top <= 0 Then
    Form1.Top = 0
    Timer1.Enabled = False
    Timer2.Enabled = True
    Exit Sub
End If
Form1.Top = Form1.Top - 100
End Sub

Private Sub Timer2_Timer()
If Form1.Left >= 10575 Then
    Form1.Top = 0
    Form1.Left = 10575
    Timer2.Enabled = False
    Timer3.Enabled = True
    Exit Sub
End If
Form1.Left = Form1.Left + 100
End Sub

Private Sub Timer3_Timer()
If Form1.Top >= 11000 - Form1.Height Then
    Form1.Top = 11000 - Form1.Height
    Timer3.Enabled = False
    Timer4.Enabled = True
    Exit Sub
End If
Form1.Top = Form1.Top + 100
End Sub

Private Sub Timer4_Timer()
If Form1.Left <= 0 Then
    Timer4.Enabled = False
    Call Restablecer
    Exit Sub
End If
Form1.Left = Form1.Left - 100
End Sub

Private Sub Restablecer()
Form1.Top = 3840
Form1.Left = 5280
End Sub

Debido al pcoo timepo que tengo por le momento solo pondre el codigo; otro dia si dispongo de mas timepo los explicare:

Efectos de salida:
Estos efectos se produciran al salir del programa:

Volar hacia afuera:
Solo necesitamos un timer, y el fomrulario obvio...

Código: (vb)
Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
Form1.Top = 3675
Form1.Left = 5115
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If Form1.Top < 0 Then
    Timer1.Enabled = False
    End
End If
Form1.Left = Form1.Left + 1000
Form1.Height = Form1.Height - 100
Form1.Width = Form1.Width - 700
Form1.Top = Form1.Top - 100
End Sub

Hasta luego, y disculpen las faltas de ortografia, me van mas rapido las manos que la cabeza, pero luego lo ire arreglando.
En línea


Para ver los enlaces debes ser usuario Crear Usuario o Hacer Sesion
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Visual Basic y Net (Moderador: Tughack)  |  Tema: Creando efectos en los formularios « anterior próximo »
Ir a:  
Novedades, Dudas, Comentarios Y Sugerencias, Top 100, Off-Topic, Revista E-Zine, Revista E-Zine, Sistemas operativos libres. , HacK GeneraL, Phreaking, Bug y Exploits, Networking & Wireless, Overclocking, Refrigeracion y demas, Hardware, Electronica Y Robotica, Hack para newbies, Todo Messenger, Troyanos y virus, Programacion, Programacion para webmasters, Software, Cracks & Serialz, P2p, Bittorrent, Elinks, Diseo Grafico, Juegos PC, Mp3, Multimedia, Peliculas Divx, Juegos, Humor y Adultos. (Diversion), Paginas Webs Recomendadas, Videos,


Zona-Musical Juegos online Juego Gratis10 Solucion Hosting Videos De Musica 1juegogratis Dragonjar
Noticias
 Juegos De Coche juegos gratis online juegos Los Foros De Sexe Gratuit Sexo Duro Tierra Messenger Trucos
Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC