TEMA 7: Métodos
Un método es una función de Visual Basic que actúa sobre un objeto particular. Son acciones que pueden llevar a cabo los objetos. No se deben confundir con las propiedades que constituyen y forman parte del propio objeto.
A continuación se muestran algunos métodos que iremos utilizando en este curso.
Nota: es importante comprobar está página, porque se actualizará constantemente a medida que avancemos en el curso, incluyendo más métodos.
- AddItem: permite añadir un elemento a un control ListBox y ComboBox. Su sintaxis es la siguiente:
Objeto.AddItem Elemento[, Indice]
En Elemento se especifica el texto del elemento a añadir en forma de cadena. La posición en que se sitúa el elemento depende del estado de la propiedad Sorted del control. Si se encuentra a False, el elemento se sitúa el último de la lista, pero si se encuentra a True, el elemento se insertará en la posición que le corresponda según el criterio de ordenación. También es posible indicar explícitamente la posición en la que debe insertarse el elemento, utilizando para ello el argumento Indice.
- Circle: dibuja un círculo, una elipse o un arco dentro de un contenedor gráfico. Su sintaxis es la siguiente:
Objeto.Circle [Step](X, Y), Radio [, Color[, Inicio[, Final[, Aspecto]]]]
Ejemplo: Form1.Circle (2000, 1000), 500, vbBlue, 1.5708, 4.7124
La palabra clave Step especifica que el centro del círculo, elipse o arco es relativo a las coordenadas actuales especificadas por las propiedades CurrentX y CurrentY.
Las coordenadas del centro del círculo, elipse o arco se especifican en (X, Y). La longitud del radio se especifica en el argumento Radio. El argumento Color indica el color del contorno del círculo. Si se omite, se utiliza el valor de la propiedad ForeColor. Para dibujar arcos, en vez de círculos completos deben especificarse los argumentos Inicio y Final. Estos argumentos indican el ángulo de comienzo y final del arco, respectivamente. Su valor debe ser especificado en radianes, pudiendo variar entre -2p y 2p. Si se omite alguno de ellos, el valor por defecto de Inicio es 0, mientras que el Final es 2p.
Para dibujar elipses se utiliza el argumento Aspecto. Este argumento indica la relación de aspecto entre los radios X e Y de la elipse. Cuando su valor es 1, simplemente se obtiene un círculo, miestras que cuando es menor que 1, se obtiene una elipse con el radio X mayor que el radio Y. Finalmente, cuando es mayor que 1, se obtiene una elipse con el radio X menor que el radio Y.
- Clear: elimina todos los elementos de un control ListBox, ComboBox y del portapapeles del sistema (Clipboard). Su sintaxis es Objeto.Clear
- Cls: borra el texto y los gráficos generados en tiempo de ejecución por instrucciones gráficas y de impresión. Si la propiedad AutoRedraw se establece a True, los gráficos y el texto no se ven afectados. Si el valor de la propiedad se cambia en tiempo de ejecución, sólo se borrarán aquellos dibujos realizados después de que la propiedad pase a valer False. De esta forma, es posible mantener los gráficos y texto que no deben cambiar a lo largo de la ejecución como, por ejemplo, ejes de coordenadas, líneas de referencia, etc. Su sintaxis es Objeto.Cls
Después de llamar a Cls, las propiedades CurrentX y CurrentY del objeto se establecen a 0.
- Drag: se utiliza para arrastrar un control. Se trata de un método que activa, desactiva o cancela el proceso de arrastre. Su sintaxis es Objeto.Drag [Acción]
Cuando se activa el proceso de arrastre de un control, sobre los bordes del mismo se visualiza un recuadro móvil del mismo tamaño que el control de un color inverso. Tanto el recuadro móvil como el puntero del ratón pasarán a moverse simultáneamente. Los valores admitidos para Acción son:
| Constante | Valor | Descripción |
| vbCancel | 0 | Cancela la operación de arrastre. |
| vbBeginDrag | 1 | (Predeterminado) Inicia el arrastre del objeto. |
| vbEndDrag | 2 | Termina el arrastre y coloca el objeto. |
Normalmente, el proceso de arrastre suele iniciarse al pulsar un botón del ratón sobre el objeto fuente. Para ello, debe incluirse la llamada al método Drag en su procedimiento de evento MouseDown. Sin embargo, es posible iniciar esta operación con cualquier otra acción.
- Hide: permite ocultar un Formulario, pero no lo descarga. Cuando se oculta un Formulario, se quita de la pantalla y su propiedad Visible queda establecida a False. Su sintaxis es Objeto.Hide
- Line: dibuja líneas y rectángulos dentro de un contenedor gráfico. Su sintaxis es la siguiente:
Objeto.Line [Step](X1, Y1)-[Step](X2, Y2)[, Color[, B[F]]]
Ejemplo: Picture1.Line (500, 200)-(3000, 2000), vbRed, BF
La palabra clave Step especifica que las coodenadas del punto inicial son relativas a la posición gráfica actual indicada por las propiedades CurrentX y CurrentY. La segunda palabra clave Step especifica que las coordenadas del punto final son relativas al punto inicial de la línea.
Las coordenadas del punto inicial de la línea se indican en (X1, Y1) y las del punto final en (X2, Y2). La propiedad ScaleMode determina la unidad de medida utilizada. Si se omite, la línea empieza en la posición indicada por CurrentX y CurrentY.
Cuando se desea dibujar un rectángulo en vez de una línea, debe incluirse como argumento la opción B. En este caso, los puestos inicial y final indicarán las dos esquinas opuestas del rectángulo. Si, además de B, se incluye la opción F, el relleno se realizará en el mismo Color utilizado para el borde.
- Move: para mover objetos de una posición a otra de la pantalla en tiempo de ejecución. También podemos cambiar el tamaño del objeto. Su sintaxis es la siguiente:
Objeto.Move Izquierda[, Superior[, Ancho[, Alto]]]
Si se omite el nombre del objeto, se asume que se trata del Formulario activo. Solamente es obligatorio especificar el argumento Izquierda, el resto es opcional.
Ejemplo: Form1.Move Form1.Left, Form1.Top, 5000, 2000 'El argumento Izquierda y Superior permanecen inalterados. Sólo será modificados el Ancho y Alto del Formulario.
- Point: se utiliza para obtener el color actual de un determinado punto dentro de un contenedor gráfico. El valor devuelto es un número entero de tipo Long que indica el código de color del punto especificado. Cuando el punto especificado queda fuera del contenedor, el valor devuelto es -1. Su sintaxis es Objeto.Point [Step](X, Y) Ejemplo:
Picture1.BackColor = vbBlue
A = Picture1.Point (200, 200)
Form1.Print A 'El valor devuelto es 16711680
- Print: se utiliza para mostrar texto. Su sintaxis es la siguiente:
Objeto.Print [ListaSalida]
En el argumento ListaSalida debe especificarse una lista de expresiones de cualquier tipo que pueda ser mostrado en forma de texto, separadas entre sí por espacio, coma o punto y coma. Cada uno de los elementos de la lista puede ir acompañado de modificadores, según la siguiente sintaxis:
[{Spc(n)|Tab(n)}] Expresión [{;\,}]
- PrintForm: envía a la impresora una imagen bit a bit de un Formulario. La impresora usada por PrintForm está determinada por los valores del Panel de control del Sistema Operativo. Su sintaxis es Formulario.PrintForm
- PSet: dibuja puntos de un determinado color dentro de un contenedor gráfico. Su sintaxis es:
Objeto.PSet [Step](X, Y)[, Color]
Las coordenadas del punto dentro del contenedor se especifican en los argumentos X e Y. Si se incluye la cláusula Step serán coordenadas relativas, mientras que si se omite serán absolutas. El argumento Color permite especificar el código del color con el que será visualizado el punto, si se omite el punto será mostrado con el color indicado en la propiedad ForeColor del contenedor. Ejemplo:
PSet (ScaleWidth / 2, ScaleHeight / 2), vbRed 'Punto rojo en centro de Formulario
- Refresh: fuerza que un Formulario o control sea redibujado. Por ejemplo, permite mostrar un Formulario, mientras se ejecuta otras sentencias, como un bucle. Su sintaxis es Objeto.Refresh
- RemoveItem:se utiliza para eliminar un elemento de un control ListBox y ComboBox. Su sintaxis es:
Objeto.RemoveItem Indice
En el argumento Indice debe especificarse la posición del elemento que se desea eliminar. Los elementos que se encuentran situados después de él se desplazarán una posición atrás.
- Scale: permite en tiempo de ejecución personalizar el sistema de coordenadas (afecta al sistema de coordenadas de las instrucciones gráficas). Su sintaxis es las siguiente:
Objeto.Scale (Izquierda, Arriba)-(Derecha, Abajo)
Los argumentos Izquierda y Arriba representan las coordenadas x e y de la esquina superior izquierda, mientras que Derecha y Abajo representan las de la esquina inferior derecha.
Si utiliza Scale sin argumentos, restablecerá el sistema de coordenadas a twips.
- SetFocus: permite especificar que objeto, Formulario o control, tendrá el foco. No es posible pasar el foco a cualquier objeto de la aplicación. Para que un objeto reciba el foco es necesario que se encuentre visible (propiedad Visible a True) y habilitado (propiedad Enabled a True). Su sintaxis es Objeto.SetFocus
- Show: permite visualizar un Formulario. El método Show no sólo visualiza el Formulario, sino que lo carga en memoria en caso de no estarlo. Su sintaxis es Objeto.Show Modo
El argumento Modo es opcional, y permite indicar el modo de visualización del Formulario. Existen dos modos: 0 (No modales (Modeless)), permiten pasar el foco a otros Formularios sin necesidad de ser descargados u ocultados, es el valor por defecto y 1 (Modales (Modal)), retienen el foco hasta que son descargados u ocultados, no permitiendo pasar el foco a otros Formularios.
- TextHeight, TextWidth: se utilizan para determinar la altura y anchura de una Cadena de texto, tal como se imprimiría con la fuente actual de un Formulario, un PictureBox o un objeto Printer. Su sintaxis es Objeto.TextWidth(Cadena), Objeto.TextHeight(Cadena). Ejemplo:
'Para situar el texto contenido en la variable Mesg en el
'centro de un control PictureBoxPrivate Sub Command1_Click()
Picture1.Font.Size = 24
Mesg = "Visual Basic"
Picture1.CurrentX = (Picture1.ScaleWidth - Picture1.TextWidth(Mesg)) / 2
Picture1.CurrentY = (Picture1.ScaleHeight - Picture1.TextHeight(Mesg)) / 2
Picture1.Print Mesg
End Sub
- ZOrder: se utiliza para el apilamiento de los objetos. Su sintaxis es
Objeto.ZOrder [Posición]Cuando en el argumento Posición se especifica un valor 0, el objeto se sitúa delante de todos los demás objetos. Si, por el contrario, se especifica un valor 1, el objeto se sitúa detrás. Si se omite es 0.