SlideShare una empresa de Scribd logo
1 de 10
EJERCICIO DE VISUAL BASIC



En este ejercicio vamos a realizar un programa el cual nos permita mediante
“clics” en determinados botones desplazar por la pantalla un circulo “shape”.


Empezaremos con la creación del formulario,




En el formulario tan solo hemos modificado el “Caption” y hemos introducido
el texto “Movimiento”.


Continuamos con la introducción del primer “commandbutton”, modificando
las propiedades ,
                    Style = 1.- Graphical
                    Picture = “selección de icono”
Para seleccionar el “icono” localizaremos primero la carpeta...




Eliminaremos también el contenido de la propiedad “caption” para que no
salga texto, y el resultado es un botón con imagen,




Repetiremos esta operación con otros 3 botones mas, como en la siguiente
imagen,
Cada botón tendrá un icono diferente, con una flecha que señala en cada
dirección.
Para acabar con los botones, colocaremos otro botón que utilizaremos para
finalizar la ejecución del programa, este botón también tendrá una imagen en
su interior.
El siguiente paso del diseño del formulario será colocar en el centro del mismo
un “shape” en forma de “circulo”.




A este “shape” le hemos modificado las siguientes propiedades,


                     BackStyle = 1.- Opaque
                     BackColor = “azul”
                     Shape = 2.- Oval




Ahora que tenemos el formulario diseñado vamos a introducir el código para
poder desplazar por la pantalla el circulo.


Haremos doble “clic” en el botón de la flecha izquierda, y en la rutina ......
Private Sub Command1_Click()
             Shape1.Left = Shape1.Left - 50
             End Sub


Aquí cada vez que se haga “clic” en el “command1” modificaremos la
propiedad “left” del “shape” y le restaremos 50 (unidades de visual basic
=twips)


La propiedad “left” determina los TWIPS que hay desde el margen izquierdo
del formulario, de forma que si le restamos 50 al valor que tenga la propiedad
“left” haremos que se desplace la imagen hacia la izquierda.


En el “command2” que es el botón que mira hacia la “derecha” colocaremos el
mismo código que el anterior pero en lugar de restar 50 unidades a la
propiedad “left” se los sumaremos, así , cada vez estará mas lejos del margen
izquierdo del formulario, con lo cual la figura se desplazara hacia la derecha del
mismo.




             Private Sub Command2_Click()
             Shape1.Left = Shape1.Left + 50
             End Sub


Si ejecutamos ahora el programa veremos como podemos hacer que la figura
se desplace a derecha e izquierda. Si quisiéramos que el desplazamiento fuera
mas o menos grande tan solo tendríamos que modificar el valor 50.
Ahora repetiremos la operación anterior pero con los botones de las flechas
que miran “arriba” y “abajo”.


En la rutina de la flecha “arriba”,


              Private Sub Command3_Click()
              Shape1.Top = Shape1.Top - 50
              End Sub


en este caso no modificamos           la propiedad “left” sino que modificamos la
propiedad “top” que es la que indica la distancia de la “forma” hasta el margen
superior del formulario.


Repetimos esta operación en el botón contrario “flecha abajo” y en lugar de
restar 50 le sumaremos 50.


              Private Sub Command4_Click()
              Shape1.Top = Shape1.Top + 50
              End Sub


Si ejecutamos el programa observaremos que ya podemos desplazar la forma
por el formulario mediante “clics” en los botones.


Como siempre en el botón de “salir” colocamos el código,


              Private Sub Command5_Click()
              End
              End Sub


Si nos fijamos el problema que encontramos es que si hacemos varios “clics”
en el mismo botón hacemos que la forma salga de las dimensiones del
formulario, ya que no hemos limitado los valores de las propiedades “left” y
“top”.
Para poder limitar los valores de la propiedad “left y top” tenemos que conocer
los limites del formulario,


El limite izquierdo de la propiedad “left” será “0” (este valor indica que estamos
en el limite izquierdo del formulario).
El limite derecho de “left”, tendremos que desde el “diseño” del formulario
desplazar el “shape” hasta el borde derecho y mirar el valor de la propiedad
“left”,




Y el valor obtenido en este caso es “4200”.


Ahora repetiremos la operación para conocer los limites de la propiedad “top”,
cuando el “shape” este en el limite superior el valor será “0” y para conocer el
valor del limite inferior, desplazaremos el “shape” hasta la parte inferior y
observaremos el valor del “top”.
Valor del “top” en el limite inferior “2040”.


Ahora que conocemos los limites de nuestro formulario, rectificaremos el
código de programación anterior y añadiremos....


botón de flecha hacia la izquierda,


              Private Sub Command1_Click()
              If Shape1.Left - 50 < 0 Then
              Shape1.Left = Shape1.Left
              Else
              Shape1.Left = Shape1.Left - 50
              End If
              End Sub
Hemos colocado un condicional “IF” que comprueba que si el valor actual del
“left” menos 50 va a dar un numero inferior a 0 (quiere decir que el shape se
perdería por el limite izquierdo del formulario) que no modifique el valor del
“left”.
Y si el resultado de la resta no da numero menor que 0 que se los reste al valor
actual y provoque el movimiento.


Este mismo condicional lo vamos a colocar en las demás rutinas,


             Private Sub Command2_Click()
             If Shape1.Left + 50 > 4200 Then
             Shape1.Left = Shape1.Left
             Else
             Shape1.Left = Shape1.Left + 50
             End If
             End Sub




             Private Sub Command3_Click()
             If Shape1.Top - 50 < 0 Then
             Shape1.Top = Shape1.Top
             Else
             Shape1.Top = Shape1.Top - 50
             End If
             End Sub


             Private Sub Command4_Click()
             If Shape1.Top + 50 > 2040 Then
             Shape1.Top = Shape1.Top
             Else
             Shape1.Top = Shape1.Top + 50
             End If
             End Sub
El resultado es que el circulo “shape” no podrá salirse de los limites del
formulario.




Ahora almacenaremos el programa.

Más contenido relacionado

La actualidad más candente

Ejercicios excel periodo3 2008
Ejercicios excel periodo3 2008Ejercicios excel periodo3 2008
Ejercicios excel periodo3 2008
IETISD Marinilla
 
EXCEL 2010 PARTE 4 Y 5
EXCEL 2010 PARTE 4 Y 5EXCEL 2010 PARTE 4 Y 5
EXCEL 2010 PARTE 4 Y 5
7826501
 
Graficas En Derive 6.0
Graficas En Derive 6.0Graficas En Derive 6.0
Graficas En Derive 6.0
guest860843
 
Formulas y funciones de ms excel.Mely
Formulas y funciones de ms excel.MelyFormulas y funciones de ms excel.Mely
Formulas y funciones de ms excel.Mely
Mely Bonilla Silva
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
Omar Duenas
 
Deber computacion 1
Deber computacion 1Deber computacion 1
Deber computacion 1
angelgab213
 
Errores mas comunes de excel
Errores mas comunes de excelErrores mas comunes de excel
Errores mas comunes de excel
Valeriitta Naula
 

La actualidad más candente (19)

Trucos de excel y vba v3
Trucos de excel y vba v3Trucos de excel y vba v3
Trucos de excel y vba v3
 
Notas excel basico_20071 (1)
Notas excel basico_20071 (1)Notas excel basico_20071 (1)
Notas excel basico_20071 (1)
 
Conceptos Básicos de Excel
Conceptos Básicos de ExcelConceptos Básicos de Excel
Conceptos Básicos de Excel
 
CLASE SUPER BASICA DE EXCEL
CLASE SUPER BASICA DE EXCELCLASE SUPER BASICA DE EXCEL
CLASE SUPER BASICA DE EXCEL
 
Manual geogebrafunciones
Manual geogebrafuncionesManual geogebrafunciones
Manual geogebrafunciones
 
Colegio Nacional Nicolas Esguerra 123
Colegio Nacional Nicolas Esguerra 123Colegio Nacional Nicolas Esguerra 123
Colegio Nacional Nicolas Esguerra 123
 
Ejercicios excel periodo3 2008
Ejercicios excel periodo3 2008Ejercicios excel periodo3 2008
Ejercicios excel periodo3 2008
 
EXCEL 2010 PARTE 4 Y 5
EXCEL 2010 PARTE 4 Y 5EXCEL 2010 PARTE 4 Y 5
EXCEL 2010 PARTE 4 Y 5
 
MANUAL CALCULADORA VOYAGE Capitulo 3 (7)
MANUAL CALCULADORA VOYAGE Capitulo 3 (7)MANUAL CALCULADORA VOYAGE Capitulo 3 (7)
MANUAL CALCULADORA VOYAGE Capitulo 3 (7)
 
Graficas En Derive 6.0
Graficas En Derive 6.0Graficas En Derive 6.0
Graficas En Derive 6.0
 
Formulas y funciones de ms excel.Mely
Formulas y funciones de ms excel.MelyFormulas y funciones de ms excel.Mely
Formulas y funciones de ms excel.Mely
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
 
Curso de ms excel esencial
Curso de ms excel esencialCurso de ms excel esencial
Curso de ms excel esencial
 
Curso derive calcular límites
Curso derive calcular límitesCurso derive calcular límites
Curso derive calcular límites
 
Deber computacion 1
Deber computacion 1Deber computacion 1
Deber computacion 1
 
Microsoft excel
Microsoft  excelMicrosoft  excel
Microsoft excel
 
Errores mas comunes de excel
Errores mas comunes de excelErrores mas comunes de excel
Errores mas comunes de excel
 
Curso de ms excel esencial
Curso de ms excel esencialCurso de ms excel esencial
Curso de ms excel esencial
 
Curso de ms excel esencial
Curso de ms excel esencialCurso de ms excel esencial
Curso de ms excel esencial
 

Destacado (8)

Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Ex12
Ex12Ex12
Ex12
 
Ex13
Ex13Ex13
Ex13
 
Ex11
Ex11Ex11
Ex11
 
Camilo
CamiloCamilo
Camilo
 
Tarjetas de red
Tarjetas de redTarjetas de red
Tarjetas de red
 
Tarjeta de red
Tarjeta de redTarjeta de red
Tarjeta de red
 
CAPA DE APLICACION TCP/IP
CAPA DE APLICACION TCP/IPCAPA DE APLICACION TCP/IP
CAPA DE APLICACION TCP/IP
 

Similar a Ex14

Explicación detallada sobre la creación de un menú desplegable en dreamweaver
Explicación detallada sobre la creación de un menú desplegable en dreamweaverExplicación detallada sobre la creación de un menú desplegable en dreamweaver
Explicación detallada sobre la creación de un menú desplegable en dreamweaver
Alexander Cabrera Robles
 
Macromedia flash unidad 4
Macromedia flash unidad 4Macromedia flash unidad 4
Macromedia flash unidad 4
Miros Castro
 
Practica 13
Practica 13Practica 13
Practica 13
Yaaree
 
Practica 13
Practica 13Practica 13
Practica 13
Yaaree
 
Practica 13
Practica 13Practica 13
Practica 13
Yaaree
 

Similar a Ex14 (20)

Memorama vectores
Memorama vectoresMemorama vectores
Memorama vectores
 
Explicación detallada sobre la creación de un menú desplegable en dreamweaver
Explicación detallada sobre la creación de un menú desplegable en dreamweaverExplicación detallada sobre la creación de un menú desplegable en dreamweaver
Explicación detallada sobre la creación de un menú desplegable en dreamweaver
 
Ex7
Ex7Ex7
Ex7
 
Ex7
Ex7Ex7
Ex7
 
Tabulaciones
TabulacionesTabulaciones
Tabulaciones
 
Tabulaciones
TabulacionesTabulaciones
Tabulaciones
 
Tabulaciones
TabulacionesTabulaciones
Tabulaciones
 
Tabulaciones
TabulacionesTabulaciones
Tabulaciones
 
Tabulaciones
TabulacionesTabulaciones
Tabulaciones
 
Depuracion de código con Eclipse
Depuracion de código con EclipseDepuracion de código con Eclipse
Depuracion de código con Eclipse
 
Ex15
Ex15Ex15
Ex15
 
Ex15
Ex15Ex15
Ex15
 
T.p5 composición geométrica i. órdenes de edición simples..
T.p5  composición geométrica i. órdenes de edición simples..T.p5  composición geométrica i. órdenes de edición simples..
T.p5 composición geométrica i. órdenes de edición simples..
 
Manual de plataforma tinkercad de diseño 3d y programacion
Manual de plataforma tinkercad de diseño 3d y programacionManual de plataforma tinkercad de diseño 3d y programacion
Manual de plataforma tinkercad de diseño 3d y programacion
 
Casillas y botones con GeoGebra
Casillas y botones con GeoGebraCasillas y botones con GeoGebra
Casillas y botones con GeoGebra
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Macromedia flash unidad 4
Macromedia flash unidad 4Macromedia flash unidad 4
Macromedia flash unidad 4
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 13
Practica 13Practica 13
Practica 13
 

Más de luisj9212

Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)
luisj9212
 
Como hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de accessComo hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de access
luisj9212
 
Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)
luisj9212
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basic
luisj9212
 
Basevisualbasic
BasevisualbasicBasevisualbasic
Basevisualbasic
luisj9212
 
Instrumento repaso accesss 2007
Instrumento repaso accesss 2007Instrumento repaso accesss 2007
Instrumento repaso accesss 2007
luisj9212
 
Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003
luisj9212
 
Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003
luisj9212
 
Accessbasico 29-03-2011
Accessbasico  29-03-2011Accessbasico  29-03-2011
Accessbasico 29-03-2011
luisj9212
 
Riesgos profesionales en nuestra empresa compu-ayudas
Riesgos profesionales   en nuestra empresa compu-ayudasRiesgos profesionales   en nuestra empresa compu-ayudas
Riesgos profesionales en nuestra empresa compu-ayudas
luisj9212
 

Más de luisj9212 (20)

Ex10
Ex10Ex10
Ex10
 
Ex9
Ex9Ex9
Ex9
 
Ex8
Ex8Ex8
Ex8
 
Ex6
Ex6Ex6
Ex6
 
Ex5
Ex5Ex5
Ex5
 
Ex4
Ex4Ex4
Ex4
 
Ex3
Ex3Ex3
Ex3
 
Ex2
Ex2Ex2
Ex2
 
Ex1
Ex1Ex1
Ex1
 
Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)Como hacer los ejercicios practicos de access (nx power lite)
Como hacer los ejercicios practicos de access (nx power lite)
 
Como hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de accessComo hacer los ejercicios practicos de access
Como hacer los ejercicios practicos de access
 
Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)Como crear una base de datos con visual basic (nx powerlite)
Como crear una base de datos con visual basic (nx powerlite)
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basic
 
Basevisualbasic
BasevisualbasicBasevisualbasic
Basevisualbasic
 
Vb access
Vb accessVb access
Vb access
 
Instrumento repaso accesss 2007
Instrumento repaso accesss 2007Instrumento repaso accesss 2007
Instrumento repaso accesss 2007
 
Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003
 
Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003Evaluacion de conociemientos access2003
Evaluacion de conociemientos access2003
 
Accessbasico 29-03-2011
Accessbasico  29-03-2011Accessbasico  29-03-2011
Accessbasico 29-03-2011
 
Riesgos profesionales en nuestra empresa compu-ayudas
Riesgos profesionales   en nuestra empresa compu-ayudasRiesgos profesionales   en nuestra empresa compu-ayudas
Riesgos profesionales en nuestra empresa compu-ayudas
 

Último

QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
Marc Liust
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
Yanitza28
 

Último (18)

QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
Editorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdfEditorial. Grupo de 12B. La Salle Margarita.pdf
Editorial. Grupo de 12B. La Salle Margarita.pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

Ex14

  • 1. EJERCICIO DE VISUAL BASIC En este ejercicio vamos a realizar un programa el cual nos permita mediante “clics” en determinados botones desplazar por la pantalla un circulo “shape”. Empezaremos con la creación del formulario, En el formulario tan solo hemos modificado el “Caption” y hemos introducido el texto “Movimiento”. Continuamos con la introducción del primer “commandbutton”, modificando las propiedades , Style = 1.- Graphical Picture = “selección de icono”
  • 2. Para seleccionar el “icono” localizaremos primero la carpeta... Eliminaremos también el contenido de la propiedad “caption” para que no salga texto, y el resultado es un botón con imagen, Repetiremos esta operación con otros 3 botones mas, como en la siguiente imagen,
  • 3. Cada botón tendrá un icono diferente, con una flecha que señala en cada dirección. Para acabar con los botones, colocaremos otro botón que utilizaremos para finalizar la ejecución del programa, este botón también tendrá una imagen en su interior.
  • 4. El siguiente paso del diseño del formulario será colocar en el centro del mismo un “shape” en forma de “circulo”. A este “shape” le hemos modificado las siguientes propiedades, BackStyle = 1.- Opaque BackColor = “azul” Shape = 2.- Oval Ahora que tenemos el formulario diseñado vamos a introducir el código para poder desplazar por la pantalla el circulo. Haremos doble “clic” en el botón de la flecha izquierda, y en la rutina ......
  • 5. Private Sub Command1_Click() Shape1.Left = Shape1.Left - 50 End Sub Aquí cada vez que se haga “clic” en el “command1” modificaremos la propiedad “left” del “shape” y le restaremos 50 (unidades de visual basic =twips) La propiedad “left” determina los TWIPS que hay desde el margen izquierdo del formulario, de forma que si le restamos 50 al valor que tenga la propiedad “left” haremos que se desplace la imagen hacia la izquierda. En el “command2” que es el botón que mira hacia la “derecha” colocaremos el mismo código que el anterior pero en lugar de restar 50 unidades a la propiedad “left” se los sumaremos, así , cada vez estará mas lejos del margen izquierdo del formulario, con lo cual la figura se desplazara hacia la derecha del mismo. Private Sub Command2_Click() Shape1.Left = Shape1.Left + 50 End Sub Si ejecutamos ahora el programa veremos como podemos hacer que la figura se desplace a derecha e izquierda. Si quisiéramos que el desplazamiento fuera mas o menos grande tan solo tendríamos que modificar el valor 50.
  • 6. Ahora repetiremos la operación anterior pero con los botones de las flechas que miran “arriba” y “abajo”. En la rutina de la flecha “arriba”, Private Sub Command3_Click() Shape1.Top = Shape1.Top - 50 End Sub en este caso no modificamos la propiedad “left” sino que modificamos la propiedad “top” que es la que indica la distancia de la “forma” hasta el margen superior del formulario. Repetimos esta operación en el botón contrario “flecha abajo” y en lugar de restar 50 le sumaremos 50. Private Sub Command4_Click() Shape1.Top = Shape1.Top + 50 End Sub Si ejecutamos el programa observaremos que ya podemos desplazar la forma por el formulario mediante “clics” en los botones. Como siempre en el botón de “salir” colocamos el código, Private Sub Command5_Click() End End Sub Si nos fijamos el problema que encontramos es que si hacemos varios “clics” en el mismo botón hacemos que la forma salga de las dimensiones del formulario, ya que no hemos limitado los valores de las propiedades “left” y “top”.
  • 7. Para poder limitar los valores de la propiedad “left y top” tenemos que conocer los limites del formulario, El limite izquierdo de la propiedad “left” será “0” (este valor indica que estamos en el limite izquierdo del formulario). El limite derecho de “left”, tendremos que desde el “diseño” del formulario desplazar el “shape” hasta el borde derecho y mirar el valor de la propiedad “left”, Y el valor obtenido en este caso es “4200”. Ahora repetiremos la operación para conocer los limites de la propiedad “top”, cuando el “shape” este en el limite superior el valor será “0” y para conocer el valor del limite inferior, desplazaremos el “shape” hasta la parte inferior y observaremos el valor del “top”.
  • 8. Valor del “top” en el limite inferior “2040”. Ahora que conocemos los limites de nuestro formulario, rectificaremos el código de programación anterior y añadiremos.... botón de flecha hacia la izquierda, Private Sub Command1_Click() If Shape1.Left - 50 < 0 Then Shape1.Left = Shape1.Left Else Shape1.Left = Shape1.Left - 50 End If End Sub
  • 9. Hemos colocado un condicional “IF” que comprueba que si el valor actual del “left” menos 50 va a dar un numero inferior a 0 (quiere decir que el shape se perdería por el limite izquierdo del formulario) que no modifique el valor del “left”. Y si el resultado de la resta no da numero menor que 0 que se los reste al valor actual y provoque el movimiento. Este mismo condicional lo vamos a colocar en las demás rutinas, Private Sub Command2_Click() If Shape1.Left + 50 > 4200 Then Shape1.Left = Shape1.Left Else Shape1.Left = Shape1.Left + 50 End If End Sub Private Sub Command3_Click() If Shape1.Top - 50 < 0 Then Shape1.Top = Shape1.Top Else Shape1.Top = Shape1.Top - 50 End If End Sub Private Sub Command4_Click() If Shape1.Top + 50 > 2040 Then Shape1.Top = Shape1.Top Else Shape1.Top = Shape1.Top + 50 End If End Sub
  • 10. El resultado es que el circulo “shape” no podrá salirse de los limites del formulario. Ahora almacenaremos el programa.