|
Visual Basic-9
MACROS de
Visual Basic en el Word de Microsoft (enlace)
Eventos.
Formulario con fondo transparente.
OLE con Word.
Eventos
Son sucesos que pueden ocurrir durante un programa.
| Click |
Pulsar sobre un control |
| DblClick |
Pulsar dos veces sobre un control |
| KeyDown |
Bajada de tecla |
| KeyPress |
Pulsar una tecla |
| KeyUp |
Subida de tecla |
| MouseDown |
Bajada del botón del ratón |
| MouseMove |
Mover el ratón sobre un control |
| MouseUp |
Subida del botón del ratón |
| Change |
Cambio del valor del control |
| Load |
El momento de la carga del Formulario |
| Unload |
El momento de la descarga del Formulario |
| Resize |
Al cambiar el tamaño del Formulario |
Veamos algunos ejemplos:
1.- Crear un Proyecto y en las Propiedades del Formulario poner:
WindowState ---> 2- Maximize
2.- Poner un Botón (Command1)
3.- Escribimos las siguientes órdenes en el código
del Botón.
El Proyecto dibujará un círculo de color, radio
y posición aleatoria, cada vez que hagamos un Click en el
Botón.
Private Sub Command1_Click()
Randomize Timer
X = Rnd * 14000
Y = Rnd * 9000
r = Rnd * 200
c = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Circle (X, Y), r, c
End Sub
|
Ahora modificamos el Proyecto:
1.- Borramos los códigos que hay dentro del Command1_Click
2.- Ahora cambiamos el Evento a MouseMove
3.- Y copiamos de nuevo el Código.
Private Sub Command1_MouseMove(Button As_ Integer, Shift As Integer, X As Single, Y As Single)
Randomize Timer
X = Rnd * 14000
Y = Rnd * 9000
r = Rnd * 200
c = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Circle (X, Y), r, c
End Sub
|
Ahora los círculos se dibujarán cuando
Movamos el Ratón sobre el Botón.
Si ponemos el Evento KeyPress, los círculos
se dibujarán cuando esté marcada (Focus) el Botón
y pulsemos cualquier tecla.
Private Sub Command1_KeyPress(KeyAscii As Integer)
Randomize Timer
X = Rnd * 14000
Y = Rnd * 9000
r = Rnd * 200
c = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Circle (X, Y), r, c
End Sub
|
También podrías poner dos eventos
a la vez en el mismo Control, por ejemplo haz que en los códigos
aparezcan dos Command1, uno con el Evento Click y otro con el Evento
KeyPress.
Veamos otro ejemplo:
En este caso el cuando Cambie el Text1 se escribirá el
doble.
Y cuando Click el Command1 se escribirá el triple.
Private Sub Text1_Change()
Text2.Text = 2 * Text1.Text
End Sub
Private Sub Command1_Click()
Text3.Text = 3 * Text1.Text
End Sub
|
 |
Cambia el evento del Command1 al evento Command1_MouseMove
y cuando muevas el ratón sobre el botón saldrá
el triple.
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Text3.Text = 3 * Text1.Text
End Sub
Te propongo este ejercicio:
1.- El Formulario debe estar Maximizado cuando
se ejecute (WindowState ---> 2- Maximize)
2.- Cada vez que hagas un Doble Click sobre el Formulario se deben
dibujar circulos aleatorios.
3.- Que los círculos estén rellenos. Para ello la
Propiedad del Formulario FillStyle ---> 0 -Solid
y dentro del código y antes de Circle .......... pones Form1.Fillcolor
= c
Formulario con fondo
transparente:
Baja éste proyecto: shaped.zip
(10 K)
Te situas sobre el control image: ImgJuicy
y cambias el dibujo en su Propiedad: Picture.
Si colocas un gif de fondo transparente, tendrá
mejor efecto. Gif
Otro ejemplo de Formulario transparente: howto_clock_face.zip
(21 K)
OLE con Word
Aquí vamos a tratar de ver
un documento Word en una aplicación de Visual Basic.
Para ello abrimos un Formulario e insertamos un
control OLE1
Crea un documento llamado: C:\midocumento.doc
Bajar el archivo: OLEword.zip
(2 K)
|