Visual Basic - Guía del Estudiante Cap. 2 OBJETOS VISUAL BASIC PROPIEDADES, PROPIEDADES, PROCEDIMIENTOS Y METODOS Vamos a ver en este capítulo como podemos realizar una aplicac ión en Visual Basic. Comencemos por abajo. Una aplicación VB es una aplicación que, generalmente, tiene una interface gráfica. Es decir, es una aplicación de las típicas de Windows. Y esa interface gráfica está formada por un formulario y dentro de él, controles. Tanto al formulario como a los controles les denominamos genéricamente Objetos. Hay objetos VB que no los podemos ver en la interface gráfica. No podemos verlos porque pese a que son objetos VB, no tienen ninguna representación en la ventana. Son por ejemplo, los objetos de acceso a datos que veremos profusamente más adelante. Todos los objetos de Visual Basic tienen Propiedades. (Por ejemplo, el nombre de ese objeto es una de sus propiedades). Los objetos que tienen parte gráfica tienen además Eventos. Y muchos de ellos tienen también Métodos
Propiedades, Eventos, Procedimientos y Métodos Típica pregunta de examen de VB elemental. Veamos que es cada una de estas cosas. Las propiedades son aquellas características de un objeto que lo define "físicamente", bien por su forma o color, por su contenido, por la forma en la que va a trabajar… trabajar… Las propiedades propiedades pueden pueden modificarse cuando estamos diseñando la interface gráfica, mediante lo que llamamos caja de propiedades, o durante la ejecución del programa. En este caso hay que hacerlo con código escrito en el propio programa. Veamos ya dos definiciones que se repetirán profusamente a lo largo del curso
-
-
cuando realizamos realizamos una operación operación durante durante el diseño. diseño. Por ejemplo, Tiempo de diseño. Es cuando podemos cambiar el color de un control durante el diseño de la aplicación, accediendo a su propiedad BackColor en la caja de propiedades. Tiempo Tiempo de eje ejecuc cución ión. Es cuand cuando o esa esa oper operaci ación ón se reali realiza za duran durante te la ejec ejecuci ución ón del del programa. Si tenemos una línea de código como esta MiControl.BackColor =RGB(255,0,0)
al ejecutarse esa línea, se cambiará el color del control de nombre MiControl. Hemos cambiado la propiedad BackColor de ese control en tiempo de ejecución. Las propiedades pueden ser de lectura y escritura, (se puede cambiar y se puede leer el valor de la propiedad), sólo de lectura (solamente se puede leer el va lor de la propiedad) ó solo de escritura (hay muy pocas de este tipo). Puede que una propiedad, que es es de lectura y escritura en tiempo de diseño, sea sólo de lectura en tiempo de ejecución (esto es lo que le pasa por ejemplo, a la propiedad Name - Nombre) Un evento es todo todo aque aquell llo o que que le pued puede e ocur ocurri rirr a un obje objeto to con con part parte e gráfi gráfica ca (Con (Contr trol ol o Formulario) Por ejemplo, es un evento el hecho de hacer click sobre ese control, el hecho de pasar pasar el ratón por encima de él, el hecho de que un control cambie de tamaño…. Los controles controles tienen muchos eventos, unos de ellos comunes a casi todos los controles (Evento click, por ejemplo) y otros exclusivos de un determinado control (El evento Timer solamente lo tiene el control Timer) Puede ver los eventos de un control haciendo doble click sobre ese control en tiempo de diseño. Le aparecerá la ventana de código.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 1
Fig. 2.1 Ventana de código La ventana de código es el lugar donde deberá escribir el código de su aplicación. Puede ver que existen en ella dos listas desplegables, una a la izquierda (sin desplegar) donde se ve el nombre del control del cual estamos visualizando el código (en este caso Command1) y otra a la derecha, donde se despliegan todos los eventos que tiene ese control. Haciendo click en la línea de uno de esos eventos, aparecerá la ventana de código dedicada a e se evento. Nota. Fíjese en la parte inferior izquierda de la ventana de código. Hay dos botones, uno que permite visualizar el código correspondiente a un solo evento, (el de más a la izquierda) y otro que permiten ver en la misma ventana el código de todos los eventos. Cada programador tiene su costumbre para ver uno o todos. La práctica le dirá lo que es más práctico para Vd. Un Procedimiento es el código que introducimos dentro de un evento. No pretendo hacer escuela con definiciones, puesto que el concepto de evento y procedimiento se confunde con mucha frecuencia, y no pasa nada por ello. El código introducido en la ventana de código del evento click será el procedimiento click, el que se introduzca en el evento MouseUp será el procedimiento MouseUp. No se sorprenda si a lo largo de este libro nos referimos a evento o a procedimiento de forma equivocada. En el lenguaje coloquial es muy habitual ese error y como decíamos, no pasa nada por ello. Estos Estos procedimient procedimientos os forman parte del programa. programa. Podría hacerse una aplicación aplicación que no tuv iese mas código que el introducido en los procedim ientos, y muchas veces esa es la realidad. Un procedimiento puede pasar parámetros. Se dice que que pasa parámetr parámetros os cuando cuando el sistema sistema aporta datos automáticamente al procedimiento. Por ejemplo, el procedimiento MouseUp, que se ejecuta cuando levantamos el botón del ratón (también existe el evento MouseDown), pasa los siguientes parámetros: Número del botón que se ha ha pulsado, (1=Izdo, 2=Dcho, 3=Central), si está está pulsada la tecla mayúsculas (Shift, 1 si está pulsada, 0 si no está pulsada) y los valores X e Y de la posición posición del cursor del ratón. ratón. Podemos Podemos ver los parámetros parámetros que pasa pasa en la propia propia definición del
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 2
procedimiento, que nos da Visual Basic Private Sub Command1_MouseUp(Button As Integer, Integer, Shift As Integer, X As Single, Y As Single) End Sub Observe que los parámetros están entre paréntesis, y que queda definido el tipo de variable que es cada uno de ellos. Podemos usar ese valor dentro del código del procedimiento como un dato más. Un Método es una operación que la realiza Visual Basic sin necesidad de escribir código para realiza realizarla rla.. Por ejemplo, ejemplo, si queremos queremos dibuja dibujarr una línea en un formular formulario io o en la impreso impresora ra utilizaremos el método Line. Si queremos dibujar una circunferencia usaremos el método Circle. Si queremos escribir texto, utilizaremos el método Print. No necesitamos decirle como lo tiene que haver, puesto que eso ya lo sabe hacer VB sin necesidad de que se lo expliquemos. A los métodos les tenemos que pasar datos. A eso le llamamos también pasarle parámetros. Los métodos solo permiten introducir los parámetros que necesita el método para ejecutarse. (En el caso de una línea, el punto inicial y el final, en el caso del circulo, el radio y las coordenadas del centro. Pueden pedir parámetros optativos, como e l puede ser el color de la línea o circulo. Espero que le quede claro cada una de estas definiciones. Tendrá tiempo suficiente a lo largo del curso para verlas, y dentro de mu y poco tiempo le serán mu y familiares famil iares estos conceptos. conceptos.
EL FORMULARIO El primer objeto Visual Basic con que nos encontramos es el FORMULARIO. De hecho, cada vez que iniciamos Visual Basic (VB) nos presenta en pantalla un nuevo formulario, que tiene por defecto el nombre de Form1 El Formulario es un objeto, que sirve de soporte de otros objetos. El nombre de FORMULARIO FORMULARIO lo toma precisamente porque, al igual que un formulario de papel contiene textos escritos, lugares donde podemos escribir, figuras, cajas donde podemos elegir una u otra opción, etc., en este cuadro cuadro gráfico gráfico que llamamo llamamos s formula formulario rio,, podemos podemos introdu introducir cir textos textos escri escritos tos,, lugare lugares s donde donde podemos escribir, escribir, figuras, cajas donde podemos elegir una u otra opción .... En realid realidad ad un formular formulario io es lo que normalment normalmente e conocem conocemos os por VENTANA VENTANA.. El nombre nombre de formulario le viene muy bien cuando ese formulario es una ventana donde vamos a introducir datos alfanuméricos. Cuando en vez de introducir datos, lo que tenemos es, por ejemplo, una ventana donde se reproducen exactamente los controles de operación de una máquina, parece en principio principio que sería mas correcto correcto el nombre de "ventana". "ventana". De alguna alguna forma lo hay que llamar, llamar, y esa esa forma forma es FORMUL FORMULARI ARIO. O. Posibl Posibleme emente nte a lo largo largo de estos estos apunte apuntes s nos referirem referiremos os al formulario con el nombre de ventana, o incluso, pantalla. Procuraremos usar el nombre apropiado: FORMULARIO.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 3
Fig. 2.2 Forma inicial del formulario.
Fig. 2.3 Un formu lario que parece un equipo de radio (Programa realizado por e l autor) Ejemplo de un formulario para una aplicación industrial. Este formulario reproduce el panel de control de un transmisor - receptor de radio. En este caso, parece que el nombre de ventana le viene mejor que el de formulario. Observe que dentro del formulario existen gran cantidad de objetos. Botones, que hacen la misma función que el botón real en el equipo de radio, y un par de displays, que muestran un texto, en este caso las frecuencias de transmisión y recepción.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 4
Como cualquier objeto Visual Basic, un formulario tiene propiedades, procedimientos y métodos. Vamos a ver las propiedades del formulario, pero solo veremos las que son específicas para un formulario. El resto las podrá ver al final del capítulo. Aquí haremos referencia a esas propiedades con un asterisco (*) que significa que esa propiedad no tiene una notación especial para los formularios. Seguiremos esta norma con todos los controles.
PROPIEDADES. Name
Nombre
Define al objeto durante la ejecución del programa. Se introduce en tiempo de diseño y no se puede puede variar durante durante la ejecución. ejecución. Nombre Nombre por defecto: defecto: Form1 (Form2 y sucesivos) sucesivos) Este Este nombre por defecto debe cambiarse, (debería cambiarse por norma en el momento de introducir el formular formulario) io),, ya que de no hacerl hacerlo o correm corremos os el riesgo riesgo de borrar borrar el código código existente existente de otro otro formulario del mismo nombre en el momento de guardar la aplicación.
Caption
Título
Es el texto que aparecerá en la barra de Título cada vez que aparezca en pantalla este formulario. No tiene otra función dentro del programa. El programa no accede a este formulario por el título, sino por por el nombre. Puede cambiarse cambiarse en tiempo de ejecución. NOTA.- No confundir Nombre (Name) con Título (Caption)
Control Box
Menú de Control en la parte sup. Izda. Valor por defecto : True
Propiedad Booleana que admite los valores de true (verdadero) o False (Falso). Si esta propiedad es True, True, aparec aparecerá erá en la esquin esquina a superi superior or izquier izquierda da el icono icono (el "menos" "menos" en W-3.1 W-3.11) para para desplegar el menú de control de este formulario. Si esta propiedad se pone como False, no aparece dicho icono y por tanto no se puede desplegar dicho menú.
MinButton MaxButton
Valor por defecto: True
Botones Botones de minimizar y maximizar este formulario. formulario. Son igualmente igualmente propiedades propiedades booleanas, booleanas, que admiten el va lor True True o False. Si están están en true, aparecerá aparecerá la flecha correspondi correspondiente. ente. Si están están en False, no aparecerá dicha flecha. Deben configurarse de una u otra forma, dependiendo si se quiere minimizar / maximizar este formulario durante la ejecución. Nota. Nota. En los formularios formularios MDI MDI child, es necesario necesario poner poner a true las propiedades propiedades ControlBox , MinButton y MaxButton para poder maximizar el formulario hijo. De no ponerlas a true, sí se pretende maximizar maximizar el formulario hijo, (Propiedad WindowS WindowState=2) tate=2) el formulario no aparece.
BorderStyle
Tipo de borde
Define el tipo de borde que tendrá el formulario durante la ejecución. No se puede cambiar en tiempo de ejecución. Admite los siguientes valo res:
0 - None
El formulario no tiene borde alrededor
1 - Fixed Single El formular formulario io tendrá tendrá un borde borde fino, fino, y no podrá podrá cambiarse cambiarse su tamaño durante el tiempo de ejecución. Con este valor, el formulario puede tener un menú de control, barra de título y botones de maximizar y minimizar. Solo podrá cambiarse de tamaño utilizando estos botones.
2-Sizable
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 5
El formulario tendrá borde grueso, y se podrá cambiar su tamaño en tiempo de ejecución mediante los botones de maximizar y minimizar, y mediante el arrastre de uno de los bordes con el ratón.
3 - Fixed Dialog El formulario tendrá borde grueso, y no se podrá redimensionar durante la ejecución. No puede tener los botones de maximizar ni minimizar.
4 - Fixed ToolWindow En las versiones de 16 bits de Windows y Windows NT 3.51 y anteriores se comp comport orta a como como Fixed Fixed Singl Single. e. No pued puede e cambia cambiarr de tamaño tamaño.. En Windows 95 muestra el botón Cerrar, y el texto de la barra de titulo aparece con un tamaño de fuente reducido. El formulario no aparece en la barra de tareas de W95.
5 - Sizable ToolWindow En las versiones de 16 bits se comporta como Sizable. En W95 muestra el botón Cerrar y el texto de la barra de titulo aparece con un tamaño de fuente reducido. El formulario no aparece en la barra de tareas de W95.
Valor por defecto: 2 . Sizable Nota: Al cambiar a determinados valores, las propiedades MaxButton y MinButton se ponen a False. Pueden ca mbiarse a True posteriormente.
Appearance
Apariencia
Valor por defecto: 3D
Admite los valores 0 (=Flat, plano) y 1 (=3D) Si tiene el valor 1 (3D), el formulario aparecerá con cierto efecto tridimensional, y los controles que le introduzcamos a este formulario aparecerán como esculpidos esculpidos dentro dentro de él. Con valor 0 (Flat) en esta propiedad, propiedad, el formulario formulario aparecerá aparecerá durante la ejecución como una superficie plana. El color de fondo se ve afectado al cambiar esta propiedad. Si se cambia a 3D, el fondo (Backcolor) toma el color definido en Windows en el Panel de Control. Si se cambia a Flat, toma el color blanco
Autoredraw
Valor por defecto: False
Propie Propiedad dad Boolea Booleana. na. Esta Esta propie propiedad dad,, estand estando o en True, True, permite permite actuali actualizar zar el conteni contenido do del formulario y de sus controles incluso cuando no están visibles. Imaginemos que en este formulario existe un texto, que se haya cambiado por programa mientras este formulario no estaba visible. Si esta propiedad Autoredraw está en False, al hacer visible este formulario, aparecerá sin reflejar ese cambio. Si esta propiedad está en True, aparecerá actualizado.
Backcolor
Color del fondo
Establece el color del fondo del formulario. Puede cambiarse en tiempo de ejecución.
Valor por defecto: El establecido en el Panel de Control de Windows.
ClipControls
Valor por defecto: False
Propiedad Booleana. Establece si un evento Paint vuelve a dibujar el objeto entero (True) o si solamente dibujan las partes que han sufrido cambios (False)
DrawMode LSB Visual Basic - Guía del Estudiante Cap. 2 Página 6
Establece un valor que determina el aspecto de la salida de un método gráfico o el aspecto de un control Shape o Line. Verá Verá mas adelante l os efectos de esta propiedad.
DrawStile
(*)
Valor por defecto : 0
DrawWidth
(*)
Valor por defecto: 1
Enabled
(*)
ForeColor
Valor por defecto: Negro
Establece el color del primer plano del formulario. Es el color que tendrán las letras si escribimos en él, o los dibujos, si lo que hacemos es dibujar. En tiempo de diseño, determina el color de la rejilla,.
FillStyle
Tipo de relleno
(*)
FillColor
Color del relleno
(*)
Font
Tipo de letra
Valor por defecto: El determinado en la personalización.
Especifica Especifica el tipo y tamaño de la letra que se usará en el formulario formulario al utilizar utilizar el método Print. Print. Al seleccionar esta propiedad en la ventana de propiedades, aparece un cuadro de dialogo donde se eligen ambos parámetros. Cuando introduzca introduzca nuevos controles en el Formulario, la propiedad Font de estos controles tomará el valor que tenga esta propiedad en el Formulario. Puede servirle este pequeño truco para utilizar utilizar en todos los controles una determinada fuente sin tener que teclearla para cada control.
FontTr tTranparent
Texto Transparente
Valor por defecto: True
Establece si el texto o gráfico de fondo del formulario se muestra (True) o no se muestra entre los caracteres de texto escritos en el propio formu lario.
FontSize
Tamaño de letra
(*)
FontBold, Fon FontItalic, Fon FontStrikethru, Fon FontUnderline Height
Altura
HelpContextID
Identificador de contexto de la Ayuda
Icon
Icono
(*)
(*) (*)
Esta propiedad define el icono que va a representar a este formulario cuando esté minimizado. Si el formulario es el formulario formulario padre padre o formulario formulario de inicio de una aplicación, aplicación, este icono es el que toma el Asistente de Instalación para colocarlo como icono de apertura del programa en el grupo de programas Windows correspon correspondiente. diente. Como valor de esta propiedad propiedad se le puede asignar asignar directamente el icono o el nombre de un archivo (con su path correspondiente) que lo contiene, haciéndolo directamente sobre la caja de propiedades.
Valor por defecto: el icono que se le haya programado en la personalización. KeyPreview
Valor por defecto: False
Propiedad Booleana. Cuando un formulario tiene dentro de sí varios controles, uno de ellos es el que está está activo. En estas estas condiciones, condiciones, si si se pulsa pulsa una tecla, esa pulsació pulsación n la recibe recibe en primer
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 7
lugar el control que esté esté activo, y si éste no la procesa, procesa, pasa esa pulsació pulsación n al formulario. formulario. Para hacer que esa pulsación pase previamente por formulario, debe ponerse esta propiedad en True. Esta propiedad la usará frecuentemente cuando quiera realizar alguna función pulsando una letra. Pone KeyPreview a True, y puede conocer que tecla se ha pulsado en el procedimiento KeyPress del formulario. Si la tiene a False, ese procedimiento no se ejecuta ya que la pulsación “no pasa” por el formulario.
Left
Posición del Borde Izquierdo
Indica la posición del borde izquierdo del formulario respecto a la parte izquierda de la pantalla. (Lo verá mas adelante, la pantalla será para VB el objeto Screen). Normalmente no se introduce como valor numérico, sino que lo toma automáticamente de la posición que tenga el formulario en el tiempo de diseño. Puede cambiarse en tiempo de ejecución, para mover el formulario.
LinkMode
Valor por defecto: 0
Permite que una aplicación destino inicie una conversación DDE con el formulario (origen de datos). Puede tomar los siguiente valores: 0 - No hay interacción DDE 1 - Source. Indica que este Formulario es origen de una comunicación DDE. El dato que se va a traspasar en esa comunicación DDE estará en un TextBox, en un Label o en un PictureBox de este Formulario.
LinkTopic Establ Establece ece el tema tema al que este formulario formulario va a respon responder der a una conversac conversación ión DDE, cuando cuando funciona como origen. Es por este tema por el que se debe llamar a este formulario cuando actúa de origen en una conversación DDE
MDIChild
Valor por defecto: False
Establece que este formulario es un formulario Hijo dentro de un formulario MDI. No se puede cambiar en tiempo de ejecución. Es una propiedad Booleana True = es formulario hijo
MouseIcon
(*)
MousePointer
(*)
Picture
Gráfico
False =No lo es
Valor por defecto: flecha
Mediante Mediante esta propiedad podemos podemos poner un gráfico gráfico como fondo del formulario. El gráfico puede ser un bit-map o un fichero .ICO
ScaleHeight, ScaleWidth, ScaleMode, Indican la unidad de medida de dimensión de altura y anchura del Formulario. ScaleMode indica en qué unidades de medida medida se van a medir esas dimensiones. Acepta Twips Twips (1), Point(2), Pixel (3), Character (4), (4), Pulgadas (Inch) (5), Milímetros (6), Centímetros Centímetros (7). Si colocamos la la propiedad ScaleMode en cualquiera de estos valores, las propiedades ScaleHeight y ScaleWidth nos vendrán vendrán dadas dadas automáti automáticam cament ente e depend dependien iendo do del ancho ancho del Formula Formulario rio,, y no se extrañe extrañe si encuentra para estas propiedades propiedades valores tan peregrinos como 4815 y 7423. Al haber elegido la unidad de medida, los valores de ancho (ScaleWidth) y alto ( ScaleHeight) serán los que tengan que ser, medidos en la unidad que hemos elegido. Podemos elegir una cifra para e l ancho y el al to del Formulario de forma que podamos controlar mejor las distintas posiciones que van a ocupar en
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 8
él los controles, los textos o los dibujos. Podemos poner, por ejemplo, que el Formulario mida 400 de ancho (ScaleWidth = 400) y 300 de alto ( ScaleHeight = 300) forzándole estas propiedades, bien en tiempo de diseño en la caja de propiedades, o en tiempo de ejecución mediante código. Entonces Entonces sabemos que el formulario, formulario, independie independientement ntemente e de las dimensiones dimensiones físicas que tenga sobre la pantalla, medirá 400 de ancho y 300 de alto, y si en estas condiciones queremos colocar un control o un dibujo justo en el medio del Formulario, sabemos que tenemos que colocarle en las coorde coordenad nadas as 200, 200, 150. 150. ¿Que ¿Que unidad unidad de medida medida estare estaremos mos utiliza utilizando ndo entonc entonces es en el Formulario Formulario ? Unas definidas definidas por por el usuario usuario (distintas (distintas para para el ancho y el alto) que serán serán las necesarias para que el Formulario mida de ancho lo que le hayamos puesto en la propiedad ScaleWidth y de alto lo que le hayamos puesto en la propiedad ScaleHeight. Observe que la propiedad ScaleMode se ha cambiado automáticamente a User (0) al introducir las dimensiones de ancho y a lto que nosotros queremos. Estas unidades de medida afectarán a los controles que metamos en este Formulario. Se medirán en su ancho ancho y alto alto con la unidad unidad de medida medida definida definida para para el ancho y alto alto del Formular Formulario. io. Lógica Lógicamen mente te también también afectar afectará á a las propie propiedad dades es Left y Top de los contro controles les,, pero pero estas estas propiedades se verán afectadas además por las propiedades ScaleLeft y ScaleTop del Formulario que se verán a continuación.
ScaleLeft, ScaleTop Estas propiedades, medidas en la unidad de medida elegida para el ancho y alto mediante las propiedades ScaleMode, ScaleWidth y ScaleHeight anteriores, anteriores, expresan expresan las coordenada coordenadas s inicial iniciales es de la parte parte izquie izquierda rda y de la parte parte super superior ior respectiv respectivamen amente te del Formul Formulari ario. o. Estas Estas propiedades no afectan a la posición del Formulario en la pantalla (Si está maximizado seguirá ocupando toda la pantalla, si está en “Normal” ocupará el mismo sitio que se dio en tiempo de diseño). diseño). Supongamo Supongamos s que se le asigna asigna a un Formulario, Formulario, las propiedades propiedades ScaleWidth = 400, y ScaleHeight = 300. Si colocamos un control justamente en el centro del Formulario tendrá sus propiedades Top =150 y Left=200. Si ponemos ahora las propiedades del Formulario ScaleLeft a 30 y ScaleTop a 10, ese control, para seguir en el centro del Formulario deberá tener sus propiedades Top a 160 (150 + 10) y Left a 230 (200 + 30). Recuerde que las medidas de un formulario crecen, desde la esquina superior izquierda, según avanzamos hacia abajo y hacia la derecha. Como aclaración de las relaciones entre distintas unidades de medida, puede ver en la siguiente table la correspondencia entre cada una de ellas y la unidad imaginaria Twip. Twip. 1 Point=20 Twips Twips ; 1Pixel=15 Twips Twips : 1 Charecter=240 Twips Twips ; 1 Inch (pulgada) =1440 Twips Twips 1mm=56,52 Twips Twips 1 cm=566 Twips Twips
Tag
(*)
Top
Posición del borde superior
Esta propiedad establece la posición del borde superior del formulario respecto a la parte superior de la pantalla (Objeto Screen). Normalmente no se introduce como valor numérico sino que lo toma automáticamente automáticamente de la posición posición que tenga el Formulario Formulario durante durante el tiempo de diseño diseño Este valor puede cambiarse durante la ejecución para, conjuntamente con Left, variar la posición posición del Formulario. Los valores de Top y Left definen la esquina superior izquierda del Formulario.
Visible Width
(*) Ancho
Valor por defecto: True
(*)
WindowState
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 9
Establece el estado en el que aparecerá el formulario cuando se activa y presenta en pantalla. Admite tres opciones: 0 - Normal El formulario recupera la posición y tamaño que tenía en el tiempo de diseño. 1 - Minimizado El formulario aparece minimizado, representado por su icono. 2 - Maximizado El formulario aparece maximizado, ocupando toda la pantalla.
EVENTOS DEL FORMULARIO Se explican a continuación los eventos de un formulario. Recuerde que un evento es lo que le puede ocurrir a un formulario o control (p.e. Evento Click) y un procedimiento es el código escrito en ese evento, que se ejecutará cuando ocurra el e vento.
Evento Activate
Activación Este evento se ejecuta al convertirse el formulario en formulario activo. Esto sucede múltiples veces cuando tenemos en el programa mas de un formulario. Sólo uno de ellos puede ser el pasa paráme parámetro tros s. No debe formular formulario io activo. activo. Este Este proced procedimie imiento nto no pasa debe emple emplear arse se para para los los parámetros iniciales del formulario. Úsese para este fin el evento Load o el Initialize .
Evento Click
Click Este evento se ejecuta cuando hacemos Click (con cualquier botón del ratón) en una parte del formulario formulario que no esté ocupada por un control. control. Para que se ejecute el evento Click es necesario necesario que no se ejecute el procedimiento MouseDown. (Que no tenga código escrito en el evento MouseDow MouseDown). n). Existe una diferencia diferencia entre el evento click del formulario formulario y el de cualquier control control : en el formulario se ejecuta con cualquiera de los botones del ratón, y en los controles, solamente con el botón izquierdo. Este evento no pasa parámetros.
Evento DblClick
Doble click Este evento se ejecuta cuando hacemos doble click con cualquier botón del ratón sobre una parte del formulario que no esté ocupada por un control. Este evento no se ejecuta si tenemos escrito código en el procedimiento Click. No pasa parámetros.
Evento Deactivate
Desactivación Se produc produce e cuando cuando el formular formulario io deja deja de ser el formular formulario io activo. activo. Vea Activate. Activate. No pasa
parámetros.
Evento DragDrop Evento DragOver Evento GotFocus
Acción de Soltar durante el Drag & Drop Pasar el ratón por encima en una operación de Drag & Drop
(*) (*)
El formulario obtiene el foco
Este evento ocurre cuando el formulario toma el foco. Cosa un poco difícil, ya que para que el formulario tome el foco debe ocurrir, o que no tenga ningún control capaz de tomar el foco, o que todos los controles existentes en el formulario y que puedan tomar el foco, estén desactivados. No se suele usar este procedimiento.
Evento ento In Initializ lize
Ini Inicializ lización ión de del fo formul mulario
Se produce al cargar por primera vez el formulario. Esto significa que si en una aplicación cargamos ese formulario una vez (la primera) se realiza este evento, pero si descargamos el formulario (con Unload Formxx) y luego lo volvemos a cargar (con Formxx.Show), esta segunda vez (y sucesivas) no se produce este evento
Evento KeyDown Evento KeyPress Evento KeyUp
Pulsar una tecla (Instante en que se ha pulsado) Pulsar una tecla Soltar una tecla (Instante en que que se levanta)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 10
Estos tres eventos solamente se producirán en el formulario cuando la propiedad KeyPreview está a True. (Vea propiedad KeyPreview) Estos tres procedimientos son excluyentes y tienen la jerarquía con el orden siguiente: KeyDown, KeyPress y KeyUp. Si el procedimiento KeyDown tiene código que pueda realizar una operación, no se ejecutará el procedimiento KeyPress ni el KeyUp. Si es el procedimiento KeyPress quien tiene el código que ejecuta una operación, no se ejecutará el KeyUp. Para que realice esta exclusión es necesario que el código pueda realizar alguna operación. Pasa los siguientes parámetros: KeyDown : KeyCode As Integer, Shift As Integer KeyPress : KeyAscii As Integer KeyUp : KeyCode As Integer, Shift As Integer KeyCode es el código ASCII de la tecla pulsada. KeyAscii es el código ASCII de la tecla pulsada. La diferencia entre KeyCode y KeyAscii es que el primero se refiere a las teclas del teclado (Todas (Todas las letras y números, teclado teclado numérico, Alt, F1 a F12, etc.) mientras que KeyAscii KeyAscii solamente tiene valor cuando se pulsa una tecla de letra o número. Puede observar que el KeyCode de un número tecleado en el teclado numérico es distinto del KeyCode de ese mismo número pulsado en el teclado alfanumérico. No se confunda con el hecho de que el KeyCode de algunas teclas coincida con el KeyAscii. No es lo mismo. mismo. Shift indica si está pulsada la tecla “Mayúsculas”. Contiene un 1 si está pulsada, 0 si no lo está.
Evento LinkError Evento LinkExecute Evento LinkOpen
Error de enlace Ejecución de un enlace de datos Romper el enlace
Estos tres procedimientos ocurren cuando el formulario forma parte de un enlace DDE. Vea el capítulo del DDE para mas detalles.
Evento Load
Cargar el formulario
Este evento es se ejecuta en el momento de la carga del formulario. Es el que presenta en la ventana de código por defecto, es decir, uno de los mas usados en el formulario. Y es el mas usado porque es el mas apropiado para introducirle a ese formulario los valores y parámetros iniciales, abrir bases de datos, etc. Se ejecuta después del evento Initialize del formulario, pero este evento Load, al contrario que el Initialize, se ejecuta cada vez que cargamos el formulario. Para introducir código de inicialización debe utilizar este evento Load. Este evento no pasa pasa parámetros.
Evento LostFocus
Perder el foco Ocurre cuando el formulario pierde el foco. Y un formulario solo puede perder el foco cuando lo tenía. Cosa que no es fácil que ocurra, tal como se explicó en el Evento GotFocus.
Evento MouseDown
Pulsar una tecla del ratón Ocurre cuando se pulsa cualquier botón del ratón, estando el cursor encima de un punto del formulario formulario libre de controles. controles. Pasa como parámetros parámetros Button (Botón pulsado, 1 = Izquierdo, 2 = Derecho, 3 = Central), Shift (Tecla de Mayúsculas) y la posición del puntero del ratón sobre el formulario formulario (X e Y). Este evento puede usarse para muchas cosas. Una de ellas, muy típica, iniciar una operación de Drag & Drop manual, usando la particularidad de que como pasa la tecla Shift como parámetro, puede obligarse a pulsar esa tecla para iniciar el D & D, evitando así cualquier activación accidental.
Evento MouseMove
Mover el ratón (Detecta la posición del ratón sobre el
formulario) Se produce cada vez que se mueve el ratón sobre el formulario. Tenga cuidado al usar este
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 11
evento, ya que cualquier movimiento del ratón lo va a desencadenar. Por eso, siempre se usa con una condición (que esté pulsada la tecla de mayúsculas, que esté pulsado uno de los botones del ratón, etc.). Los parámetros parámetros que pasa son Button As Integer , Shift As Integer , X e Y As Single.
Evento MouseUp
Soltar una tecla del ratón Este evento sucede cuando se levanta la tecla pulsada del ratón. Pasa como parámetros Button (Botón (Botón pulsad pulsado, o, 1 = Izdo, Izdo, 2 = Dcho, Dcho, 3= Central Central)) Shift (Mayúsculas), X e Y (Single) como posición del puntero del ratón Este evento suele usarse para mostrar PopupMenús, deshacer deshacer una operación inic iada con MouseDown, etc.
Evento Paint
Redibujar tras un cambio de tamaño Se produce produce al cambiar cambiar el tamaño tamaño del formulario, formulario, tras el evento Resize, Resize, excepto excepto cuando cuando se minimiza. Puede aprovecharse para redibujar el contenido del formulario (de ahí su nombre) tras un cambio de tamaño. No pasa parámetros
Evento QueryUnload
Confirmación de descarga Este procedimiento se ejecuta cuando el formulario recibe la instrucción de descargarse. Todavía estamos a tiempo de evitar que se descargue. Por lo tanto es aquí donde suele colocarse una caja de mensaje donde se obliga al usuario a ratificar o revocar la orden de descarga del formulario. En caso de que en realidad no queramos descargarlo, basta con poner Cancel = True (o Cancel = 1) y no se produci producirá rá la descar descarga. ga. Pasa Pasa como como parámet parámetros ros Cancel As Integer, UnloadMode As
Integer.
Cancel es un parámetro que debemos introducir para abortar la descarga del formulario. Si se pone a un valor distinto de 0, se detiene la descarga. UnloadMode es un valor o constante que nos da el sistema, dependiendo de la causa que ha provocado la descarga del formulario. Constante vbF vbFormC ormCon ontr trol olM Menu vbFormCode vbApp vbAppWin Windo dow ws 2 vbA vbAppT ppTaskM skManag anager er vbFormMDIForm
Valor 0 El usuari ario eli eligió gió el com comando ando Cerr errar del men menú Contr ontrol ol del del formulario o hizo click en el X del mismo. 1 Se in vocó la instrucción Unload desde el código. La sesió esión n act actua uall del del ento entorn rno o ope opera rativ tivo o Mic Micro roso soft ft Windo Window ws está finalizando. 3 El Admin dminiistr strador ador de tar tareas eas de Micr Micro osoft oft Wind Windo ows est está á cer cerrrando ando la aplicación. 4 Un formulario MDI hijo se está cerrando porque el formulario MDI padre también tamb ién se está cerrando.
Este procedimiento no se ejecuta cuando sale de la aplicación mediante la instrucción End. Solamente se ejecuta cuando con la instrucción Unload, o con el comando Cerrar del menú Control del formulario, o haciendo click en el X del mismo. El evento QueryUnload se utiliza con frecuencia para guardar la configuración actual de la aplicación.
Evento Resize
Cambio de tamaño
Se ejecuta cuando cambia el tamaño del Formulario, bien porque le cambia con las flechas del ratón arrastrando uno de sus bordes, bien porque lo maximizamos, ponemos a tamaño intermedio o minimizamos. Puede usar este evento para redistribuir o cambiar el tamaño de los controles. No pasa parámetros.
Evento Terminate LSB Visual Basic - Guía del Estudiante Cap. 2 Página 12
Este evento se produce al descargar el formulario, después de QueryUnload y Unload. Aquí ya no podemos abortar la descarga. Solamente podremos, por ejemplo, guardar la configuración usada por la aplicación, para que vuelva a arrancar con la última configuración usada. Este evento no se produce produce si sale de la aplicación con la instrucción instrucción End. Solamente si lo hace mediante Unload (Unload Me, p.e.) o con el comando Cerrar o el X del formulario. Me permito recomendarle que No termine sus aplicaciones mediante End. No podrá usar los eventos QueryUnload, Unload ni Terminate.
Evento Unload
Descargar el formulario
Este evento se produce en el momento en el que se descarga el formulario. Pasa como parámetro Cancel, al igual que lo hace QueryUnload. Es la última oportunidad de cancelar la descarga del formulario, haciendo Cancel = True o Cancel = cualquier valor distinto de 0. Este procedimiento no se ejecuta cuando sale de la aplicación mediante la instrucción End. Solamente se ejecuta cuando con la instrucción Unload, o con el comando Cerrar del menú Control del formulario, o haciendo click en el X del mismo.
Eventos del OLE Existen varios eventos relacionados con el OLE de Windows. Se estudiarán cuando se estudie el OLE. De momento se enumeran con los parámetros que pasan.
Evento OLECompleteDrag (Effect As Long) Evento OLEDragDrop (Data As DataObject, Effect As Long, Button As Integer, Shift As _ Integer, X As Single, Y As Single)
Evento OLEDragOver (Data As DataObject, Effect As Long, Button As Integer, Shift As _ Integer, X As As Single, Y As Single, State As Integer)
Evento OLEGiveFeedback (Effect As Long, DefaultCursors As Boolean) Evento OLESetData (Data As DataObject, DataFormat As Integer) Evento OLEStartDrag (Data As DataObject, AllowedEffects As Long)
LOS CONTROLES CONTR OLES MAS ELEMENTALES DE VISUAL BASIC Una vez introducido un Formulario, se pueden colocar los objetos (controles) que forman parte de la aplicación. Estos controles se irán viendo en pró ximos capítulos. Los controles, lo mismo que el Formulario, tienen Propiedades, Procedimientos y Métodos.
Para colocar un control en un Formulario, basta con “tomarlo” de la caja de herramientas existente en la parte izquierda de la pantalla de VB y llevarlo al Formulario. Si no existiese el control deseado en la caja de herramientas, deberemos ir a “cogerlo” a Proyecto | Componentes de la barra de menú de VB. Se elige el nuevo control, marcando la caja de opción a la izquierda de su nombre, y haciendo click en ACEPTAR. ACEPTAR. Este control ya pasa a la caja de herramientas. No se deben introducir mas controles de los necesarios. Sobre todo, cuando vaya a compilar el proyecto. Si tiene metido en la caja de herramientas un control que no necesita, lo introducirá en los discos de distribución igual que si lo necesitara.
COMMAND BUTTON BOTON DE COMANDO
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 13
El Command Button es un objeto que sirve para introducir datos a través de la pantalla. El Botón de Comando tiene la siguiente forma:
El botón de comando puede usarse para la entrada de datos con el ratón, o para validar cualquier operación. El tamaño puede cambiarse a voluntad, pero la forma siempre es rectangular. En la figura anterior vemos dos botones de comando, uno de ellos (el Command2) marcado con unos puntos en su contorno. Estos puntos nos permiten variar su tamaño en tiempo de diseño. También puede cambiarse su tamaño y posición en tiempo de ejecución. (Las propiedades marcadas con (*) no varían de la descripción general, hecha al f inal del capítulo)
PROPIEDADES Name
Nombre(*)
Caption
Título (*) Es el texto que aparece en el botón. Puede cambiarse en tiempo de ejecución. No tiene otra función dentro del programa.
Appearance
Apariencia
(*)
Backcolor
Colo Colorr de de fon fondo do (*) (*) Esta Esta propie propiedad dad permit permite e cambiar cambiar el color color del botón botón cuando cuando la propie propiedad dad Style está está puesta puesta a Graphycal. Graphycal. Si la propiedad propiedad Style esta puesta puesta a Standars, Standars, esta esta propiedad propiedad solamente solamente controla el color de un pequeño cuadrado que aparece rodeando el título. Puede cambiarse en tiempo de ejecución.
Cancel Establece un valor que indica si un botón de comando es el botón botón Cancelar de un formulario. Es una propiedad booleana, y admite los valores True o False. Puede utilizar la propiedad Cancel para dar al usuario la opción de cancelar los cambios que no se han hecho efectivos y devolver el formulario a su estado anterior. En un formulario sólo puede haber un botón de comando con la propiedad Cancel = True.
Causes Validation Esta propiedad habilita o deshabilita la ejecución del evento Validate del control que tenía el foco ante antes s de camb cambia iarr el foco foco a este este cont contro rol. l. El even evento to Valid alidat ate e de un cont contro roll se ejec ejecut uta a inmediatamente antes de que pierda el foco. (Se dice que un control tiene el foco cuando es ese control el que está activado). activado). Al hacer click sobre el botón de comando, siempre habrá algún control que pierda el foco para que lo tome el botón de comando. Si el botón de comando tiene la propiedad Causes Validation a True, se ejecutará el evento validate de ese control que acaba de perder el foco. Si está a false, no se ejecutará. Observe que esta propiedad afecta a un control diferente del que ostenta la propiedad.
Default Establ Establece ece un valor que determi determina na el control control CommandBu CommandButt tton on que es el botón botón de comando comando predeterminado de un formulario. Sólo un botón de comando de un formulario puede ser el botón de comando predeterminado. Cuando Default se define a True para un botón de comando, se define automáticamente a False para el resto de los botones de comando del formulario. Cuando
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 14
la propiedad Default del botón de comando está establecida a True y su formulario primario está activo, el usuario puede elegir el botón de comando (invocando su evento Click) presionando ENTRAR. Cualquier otro control que tuviera el enfoque no recibe evento de teclado (KeyDown, KeyPress o KeyUp) de la tecla ENTRAR a menos que el usuario haya movido el enfoque a otro botón de comando del mismo formulario. En este caso, al presionar ENTRAR se elige el botón de comando que tiene el enfoque en lugar del botón de comando predeterminado.
DisabledPicture, DownPicture
Estas propiedades solamente están disponibles cuando se pone pone la propie propiedad dad Style a Graphyc Graphycal. al. Permit Permiten en poner poner un icono icono diferen diferente te para para el estad estado o de deshabilitación del botón (Cuando está la propiedad Enabled = False) o cuando el botón está pulsad pulsado o respec respectivame tivamente nte.. Juntam Juntament ente e con la propie propiedad dad Pictur Picture e permite permite hacer hacer un juego juego de imágenes sobre el botón que varían de acuerdo a su estado o posición.
DragIcon
Icono en la operación de arrastre
(*)
DragMode
Modo de iniciar el Drag & Drop
(*)
Enabled
Habilitado
(*)
Font
Fuente
(*)
Height
Altura
(*)
HelpContextID
Número de Contexto para la Ayuda
Index
Indice
Left
Posición de su parte izquierda.
(*)
(*) (*)
MaskColor
Establece cual es el color de la imagen del botón que actuará como máscara para producir zonas transparentes. transparentes. Para Para ello, la propiedad propiedad UseMaskColor debe estar a true. (¡)
MouseIcon
Icono para el puntero del ratón
MousePointer Puntero ratón
(*) (*)
Picture.
Solamente está disponible cuando la propiedad Style está puesta a Graphical. Pone un icono sobre el botón.
Style
Define el estilo del botón, aceptando dos valores: Graphycal y Standard. Poniendo esta propiedad a Graphycal podemos cambiar el color del botón 8con la propiedad Backcolor) e incluso introducir un fráfico fráf ico (en la propiedad Picture, DownPicture o DisabledPicture.
UseMaskColor Determina si el color asignado en la propiedad MaskColor se usa como máscara para crear zonas transparentes. No he sido capaz de sacar partido a esta propiedad.
TabIndex
Nº de orden para tabulador
(*)
TabStop
Sale del control de la tecla TAB
(*)
Tag
Valor auxiliar auxi liar
(*)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 15
ToolTipText
Etiqueta de información (W95)
(*)
Top
Posición de la parte superior
(*)
Visible
Visible
(*)
WhatsThisHelpID Width
(Propiedad, Windows 95)
(*) (*)
Ancho
PROCEDIMIENTOS DEL BOTON DE COMANDO Click KeyDown MouseDown
DragDrop KeyPress MouseMove
DragOver KeyUp MouseUp
GotFocus LostFocus
¡ El botón de Comando no tiene el procedimiento DbClick !
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 16
LABEL
ETIQUETA
Una etiqueta etiqueta es un control control que nos permite permite presen presentar tar un texto. texto. La etiquet etiqueta a debe debe usars usarse e en aquellos casos en los que exista una información estática o dinámica que no deba ser cambiada por el operador. Puede Puede adoptar adoptar estas estas formas: formas: con borde borde tridimensi tridimensional, onal, borde borde plano plano justificado a la izquierda, a la derecha o centrado.
o sin borde, borde, y el texto texto
Se ha incluido la trama para poder observar los límites de la etiqueta sin borde.
PROPIEDADES Alignment
Justificación
Establece si el texto se justifica a la izquierda, a la derecha, o se centra sobre la etiqueta.
Appearance
Apariencia cia
Plana o tri tridim dimensional. (*)
Si está a True, el tamaño de la etiqueta se ajusta al tamaño del texto de su Autosize propiedad Caption
Backcolor
Color de fondo
(*)
BackStyle
Tipo de fondo
Opaco o transparente.
Cuando se selecciona transparente, se ve solamente el texto de la etiqueta, dejando ver como fondo entre las letras, el color o Picture del formulario. Cuando se selecciona opaco, este texto se vé sobre un fondo gris.
BorderStyle
Tipo de borde
Sin Sin bord borde e o con con bord borde. e. En caso caso de habe haberr elegi elegido do en la prop propie ieda dad d Appearance el modo modo tridime tridimensi nsional onal,, y eligie eligiendo ndo con borde borde en esta esta propie propiedad dad,, el aspec aspecto to adopta adopta una forma forma como incrustada en el formulario.
Caption
Título
(*)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 17
DataSource
DataField
Establecen el control data asociado y el campo de la base de datos que se presentará en la propiedad Caption. Estas Estas propie propiedad dades es permite permiten n prese presenta ntarr los datos datos de una Base Base de Datos Datos mediante un procedimiento muy sencillo, con la ayuda de un control Data (Se verá mas adelante)
DragIcon Index
DragMode Left
Enabled (*)
Font
ForeColor
Height
LinkItem LinkMode LinkTimeout LinkTopic Estas propiedades establecen la forma en que debe llevarse a cabo una conexión DDE con otra aplicación. Se verán con mas detalle al estudiar los enlaces DDE
MouseIcon Top
MousePointer (*)
Name
TabIndex
Tag
ToolTipText
UseMneumonic Es una propiedad Booleana. Devuelve o establece un valor que indica si al incluir el signo (&) en el texto de la propiedad Caption del control Label se define una tec la de acceso. Los valores que puede tomar son True o False.
True
(Predeterminado) Los caracteres (&) que aparezcan en el texto de la propiedad Caption definen al carácter siguiente como tecla de acceso. El signo (&) no aparece en el Caption del control Label. False Los caracteres (&) que aparezcan en el texto de la propiedad Caption aparecen como ta les en el Caption del control Label. En tiempo de ejecución, al presionar ALT+ la tecla de acceso definida en la propiedad Caption del control control Label, Label, el enfoqu enfoque e se desplaza desplaza al control control siguien siguiente te al control control Label Label en el orden orden de tabulación.
Visible
WhatsThisHelpID
Width
(*)
WordWrap Devuelve o establece un valor que indica si un control Label con el valor True en su propiedad AutoSiz AutoSize e se expande expande vertical vertical u horizo horizontal ntalmen mente te para para adapta adaptars rse e al texto texto espec especific ificado ado en su propiedad Caption. Es una propiedad Booleana.
True El control Label se expande o contrae horizontal y verticalmente para adaptarse al texto y al tamaño de la fuente. Contempla para la expansión horizontal la colocación de los espacios del texto. False (Predeterminado) El texto no se ajusta a la siguiente línea; el control Label se expande o contrae contrae horizontalme horizontalmente nte para adaptars adaptarse e a la longitud del texto y verticalmente verticalmente para adaptars adaptarse e al tamaño de la fuente y al número de líneas. Nota Nota Si se establ establece ece False False en AutoSize AutoSize,, el texto texto siempre siempre se ajusta ajustará rá a la línea línea siguient siguiente, e, independientemente del tamaño del control Label y del valor de la propiedad WordWrap. Esto puede ocultar parte del texto, ya que el control Label no se expande en ninguna dirección.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 18
PROCEDIMIENTOS DEL LABEL Click DragOver
TEXT BOX
Change LinkClose
DbClick LinkError
DragDrop LinkNotify
CAJA DE TEXTO
Las cajas de texto son los controles en los que Visual Basic presenta o introduce textos. Es por tanto tanto un contro controll bidirec bidireccio cional. nal. Normal Normalment mente e se usan para para introdu introdució ción n de textos, textos, o para para la presentación de aquellos que el operador pueda cambiar. Para cambiar o escribir un texto en una caja de texto, basta con conseguir que esa caja de texto tenga el foco y teclear el texto en el teclado. Esto se puede lograr, bien haciendo click con el ratón en esa caja de texto, bien con la tecla TAB, TAB, bien por programa. La caja de texto no se debe usar nunca para presentar textos que el operador de la aplicación no deba cambiar. Úsese para ello la etiqueta, control no bidireccional, que además tiene la ventaja de ocupar menos memoria de programa. Las cajas cajas de texto texto pueden pueden tener una o varias varias líneas líneas,, según según esté la propie propiedad dad Multiline. Multiline. La capacidad máxima de una caja de textos es de 64 Kbytes. La forma de una caja de texto es la siguiente, dependiendo de las propiedades BorderStyle y Appearance:
PROPIEDADES Alignment
Justificación
Establece si el texto se justifica a la izquierda, a la derecha, o se centra sobre la etiqueta. Esta propiedad solamente tiene efecto cuando la propiedad Multiline propiedad Multiline está a True, rue, ignorándose en caso contrario. Es decir, permite colocar el texto justificado a la derecha cuando ese texto puede ser de varias líneas. Si la propiedad Multiline está a False, se justifica siempre a la izquierda. Esta Esta propie propiedad dad no puede puede cambiar cambiarse se en tiempo tiempo de ejecuci ejecución, ón, pero sí puede puede leers leerse e en que condición está.
Appearance
Backcolor
(*)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 19
BorderStyle
Tipo de borde
Sin Sin bord borde e o con con bord borde. e. En caso caso de habe haberr elegi elegido do en la prop propie ieda dad d Appearance el modo modo tridime tridimensi nsional onal,, y eligie eligiendo ndo con borde borde en esta esta propie propiedad dad,, el aspec aspecto to adopta adopta una forma forma como incrustada en el formulario.
DataField DataSource
Nombre de un Campo Nombre de un control Data Establecen el control Data y el campo donde está el texto que se llevará a la propiedad Text. Estas propiedades permiten presentar de una forma muy sencilla datos de una Base de Datos. Se verán cuando se estudie el control Data y el motor de bases de datos
DragIcon
DragMode
(*)
Enabled
Habilitado Propiedad Booleana que habilita o deshabilita la etiqueta Cuando está deshabilitado (Enabled = False), no tienen efecto los eventos que se se produzcan sobre sobre el TextBox. TextBox. No se puede escribir escribir el él ni pasarle el foco, pero sí se le puede cambiar el texto mediante el programa. Puede ser una buena buena altern alternativ ativa a para para impedir impedir que el usuar usuario io pueda pueda cambiar cambiar un determi determinad nado o texto. texto. Esta Esta propiedad puede variarse en tiempo de ejecución.
Font
ForeColor
Height
HelpContextID
Index Left
(*)
LinkItem LinkMode LinkTimeout LinkTopic Estas propiedades establecen la forma en que debe llevarse a cabo una conexión DDE con otra aplicación. Se verán con mas detalle al estudiar los enlaces DDE
Locked Establece si el texto se puede editar, es decir, cambiar. Cuando se pone esta propiedad a True, el texto existente en la caja puede resaltarse con el ratón, e incluso copiarlo al portapapeles, pero no puede puede variars variarse e teclean tecleando do un nuevo nuevo texto. texto. Se puede puede cambiar cambiar por programa programa,, cambian cambiando do la propiedad Text. Si está en False, puede cambiarse el texto mediante teclado.
MaxLenght Indica, si se establece, la longitud máxima del texto. Si no se establece o si se pone valor 0, permite cualquier longitud de texto. Puntero del ratón personalizado MouseIcon MousePointer Puntero ratón
(*)
Lo típico para esta propiedad es el I-Beam (barra ver tical)
Name
Nombre(*)
PasswordChar En ocasiones, es conveniente que no se pueda leer lo que se escribe en la caja de texto, caso por ejemplo de la entrada de un password o palabra de paso. Esta propiedad nos permite indicar un carácter que sustituye a cualquier carácter que tenga la caja de texto. (Típicos el * o ?). El texto que tenga en la propiedad Text no cambia por el hecho de presentar en pantalla un carácter distinto. Esta propiedad puede cambiarse en tiempo de ejecución. Para quitar el PasswordChar basta con forzarlo al carácter nulo : Text1.PasswordChar = “” La propiedad PasswordChar se ignora cuando la propiedad Multiline propiedad Multiline está a True. True.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 20
ScrollBars Cuando la propiedad Multiline de la caja de texto está a True, se pueden colocar barras de desplazamiento del texto hacia arriba y abajo, o hacia los lados. Esto nos permite tener una caja de texto de tamaño reducido y poder leer en ella un texto mayor que la propia caja. Esta propiedad puede tomar los siguiente valores : 0 - No salen barras 1 - Barras de desplazamiento horizontal 2 - Barras de desplazamiento vertical 3 - Ambas barras.
TabIndex
Tag
(*)
Text
Texto La caja de texto no tiene la propiedad Caption. Su equivalen te es la propiedad Text que es el texto que tiene en su interior.
Top
Visible
WhatsThisHelpID
Width
(*)
PROCEDIMIENTOS DE LA CAJA DE TEXTO Click KeyDown
Change KeyPress
FRAME
RECUADRO
DblClick KeyUp
DragDrop LinkClose
DragOver
GotFocus
Se obtiene directamente de la caja de herramientas
Tiene la siguiente forma :
Un control Frame proporciona un agrupamiento identificable para contro les. También También puede utilizar un Frame Frame para para subdivi subdividir dir un formular formulario io funcion funcionalme almente nte por ejempl ejemplo, o, para para separ separar ar grupos grupos de controles OptionButton. Para agrupar controles, en primer lugar trace el control Frame y, a continuación, meta los controles dentro de Frame. De este modo podrá mover al mismo tiempo el Frame y los controles que
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 21
contiene. Si traza un control fuera del Frame y, a continuación, intenta moverlo dentro de éste, el control se colocará sobre el Frame, pero no pertenecerá a el. Es decir, decir, si es un OptionButton este se comportará como si estuviese fuera del Frame, aunque físicamente esté dentro de el. Cuando un control control Frame tiene dentro otros otros controles, y hacemos invisible al Frame, mediante su propiedad propiedad Visible Visible = False, False, los controles controles interiores interiores al Frame quedan también invisibles. invisibles. Los controles Frame se utilizan para poner dentro de ellos diversos controles, que solo aparecerán en el programa cuando se cumpla una determinada condición. Cuando esa condición se cumpla, se pone la propiedad Visible del Frame a True y se verán todos los controles que tiene dentro. Si no se cumple esa condición, se pone la propiedad Visible del Frame a False y no se verá ni el Frame, ni los controles que contiene.
PROPIEDADES Las Las seña señala lada das s con con (*) (*) no pres presen enta tan n noved novedad ades es resp respec ecto to a las las ya comentadas para los controles precedentes.
Appearance
Backcolor
Caption
(*).
ClipControls Si esta propiedad está a True, los métodos gráficos en eventos Paint vuelven a dibujar el objeto entero. Antes del evento Paint se crea una zona de recorte alrededor de los controles no gráficos del formular formulario. io. Si esta esta propi propieda edad d está está a False dibujarán dibujarán solamente solamente las las áreas áreas últimamente últimamente expuestas. En tiempo de ejecución, esta propiedad es de sólo lectura.
DragIcon
DragMode
(*)
Enabled Cuando esta propiedad está a False, tanto los procedimientos asociados al propio control Frame como todos los controles dentro del Frame estarán inhabilitados. Si esta propiedad está a True, todos ellos están habilitados.
Font ForeColor
(*)
Color de las letras del título del Frame.
Height Name
HelpContextID TabIndex
Index Tag
Left Top
MouseIcon
MousePointer
(*)
Visible Cuando un Frame está con la propiedad Visible = False, tanto el propio Frame como todos los controles interiores a el serán invisibles.
WhatsThisHelpID
Width
(*)
PROCEDIMIENTOS DEL FRAME Click MouseMove
DblClick MouseUp
DragDrop
DragOver
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 22
MouseDown
CHECK BUTTON Y OPTION BUTTON (BOTONES DE ELECCION Y OPCION) Se obtienen directamente de la ca ja de herramientas.
Dada la similitud de ambos controles, se comentan conjuntamente. El control CheckBox, o casilla de verificación, permite elegir una opción (activada/desactivada, True/Fal True/False) se) que el usuario usuario puede establec establecer er o anular anular haciendo click. Una X en una casilla casilla de verificación indica que está seleccionada, activada, o con valor True. Cada casilla de verificación es independiente de las demás que puedan existir en el formulario, pudiendo tomar cada una de ellas el valor True o False, a vo luntad del operador. Un control control OptionButton muestr muestra a una opción opción que se puede puede activar activar o desac desactivar tivar,, pero pero con dependencia del estado de otros controles OptionButton que existan en el formulario. Generalmente Generalmente,, los controles controles OptionButton se utilizan en un grupo de opciones para mostrar opciones de las cuales el usuario sólo puede seleccionar una. Los controles OptionButton se agrupan dibujándolos dentro de un contenedor como un control Frame, un control PictureBox o un formulario. Para agrupar controles OptionButton en un Frame o PictureBox, dibuje en primer lugar el Frame o PictureBox y, a continuación, dibuje dentro los controles OptionButton . Todos los controles OptionButton que están dentro del mismo contenedor contenedor actúan como un solo grupo, e independientes de los controles OptionButton de otros grupos distintos. Aunque puede parecer que los controles OptionButton y CheckBox funcionan de forma similar, hay una diferencia diferencia importan importante: te: Cuando Cuando un usuar usuario io seleccio selecciona na un OptionButton , los los otro otros s control controles es del mismo mismo grupo grupo OptionButton dejan de estas estas disponible disponibles s automáticamen automáticamente. te. Por contraste, se puede seleccionar cualquier número de controles CheckBox.
En el ejemplo de la figura, existen tres grupos de OptionButton , uno en un PictureBox, que actúa, al tiempo que como cuadro de imagen, como contenedor de controles OptionButton . Otro
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 23
grupo está en el interior de un control Frame, y el otro grupo está en el formulario. Los tres grupos son independientes entre sí, pero interiormente al grupo solamente puede seleccionarse uno de los OptionButton que lo componen. En el formulario también existen tres CheckBox, que como puede verse, se pueden seleccionar los que se desee, sin ningún tipo de exclusión entre ellos.
PROPIEDADES Las señaladas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes.
Alignment
Común a ambos controles. Admite los siguientes valores :
0 - Left Justify 1 - Right Justify Cuando se elige el valor 0, justificado a la izquierda, el título del control aparece a la derecha del botón, pegado a la figura del botón. botón. Cuando se elige el valor 1, justificado a la derecha, el título (Caption) aparece a la izquierda del botón, comenzando en la parte izquierda del cuerpo total de l control, es decir, no tiene porqué aparecer con su parte derecha pegado al botón, caso que el cuerpo total del control se haya hecho mas largo que la palabra del título.
Appearance
Backcolor
Caption
(*).
DataField DataSource
Propiedades del CheckBox solamente. Establecen el control Data asociado y el campo donde están los datos (True / False) que se llevarán a la propiedad Value . Al igual que en los controles Label y TextBox esta propiedad nos permite permite visualiz visualizar ar datos de una base de datos datos de una forma muy sencilla. sencilla. En este caso, caso, el CheckBox solamente permite presentar (logicamente) datos de tipo Booleano.
DragIcon
DragMode
Enabled
Font
ForeColor
(*)
Height
Común a ambos controles. La altura del control solamente afecta a la colocación del Titulo (Puede ponerse un título largo en varias líneas), no al tamaño del botón, que es invariable.
HelpContextID TabIndex
Index TabStop
Left Tag
MouseIcon Top
MousePointer (*)
Name
Value
Común a ambos controles El valor de esta propiedad indica si el control está seleccionado (Value = 1) o no seleccionado (Value (Value = 0 ó Value = False). False). Esta propiedad puede puede cambiarse en tiempo de ejecución. Mediante esta propiedad, podemos tanto forzar el valor como leerlo.
Atención. Presenta una diferencia entre uno y otro control respecto a la forma de expresarse respecto a su valor cuando está seleccionado. Para forzar que el control NO esté seleccionado, o para leer el Value cuando no está seleccionado, podemos utilizar tanto Value = 0 como Value = False. Sin embargo, cuando lo que se quiere es poner la propiedad a True hay una diferencia entre ambos controles. Para el OptionButton podemos utilizar indistintamente las siguiente formas :
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 24
Option1.Value = True
Option1.Value = 1
Con cualquiera de ellas seleccionaremos ese control por programa. Para el CheckBox solamente se podrá usar para este propósito la instrucción : Check1.value = 1 El poner como Value Value el valor True nos dará en este este control un error. error. Para la lectura del Value, existe una diferencia entre el valor devuelto por el CheckBox y el devuelto por el OptionButton . Para leer el dato existente en un CheckBox es necesario utilizar la forma : variable = Check1.Value donde variable tomará el valor va lor 1 (no True) Para el control OptionButton emplearemos una instrucción igual : variable = Option1.Value Option1.Value
Visible
WhatsThisHelpID
donde variable tomará el valor True (no 1)
Width
(*)
PROCEDIMIENTOS Click KeyDown
DblClick (Solo OptionButton) Ke KeyPress Ke KeyUp
DragDrop LostFocus
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 25
DragOver
GotFocus
LIST BOX Y COMBO BOX Estos dos controles, debido a su similitud, se estudian conjuntamente. Se obtienen directamente de la ca ja de herramientas :
Un control ListBox muestra una lista de elementos en la que el usuario puede seleccionar uno o más. más. Si el númer número o de eleme element ntos os supe supera ra el núme número ro que que pued puede e most mostra rars rse, e, se agre agrega gará rá automáticamente una barra de desplazamiento al control ListBox. Un control ComboBox combina las características de un control TextBox y un control ListBox. Los usuarios pueden introducir información en la parte del cuadro de texto y seleccionar un elem elemen ento to en la part parte e de cuad cuadro ro de list lista a del del contr control. ol. En resu resume men, n, un ComboBox es la combinación de un ListBox, que se comporta como si de un ListBox se tratase, y de un TextBox, con comportamiento análogo a un TextBox sencillo, con la particularidad aquí de que el texto se le puede introducir por teclado, o elegir uno de los que figuran en la parte ListBox del Combo. Estos controles toman la siguiente forma :
Puede verse en la figura un ejemplo de presentación de un ListBox (izquierda), un ComboBox con la lista desplega desplegada da (Centro) (Centro) y un ComboBox con la lista sin desplegar (Combo2 a la derecha). La lista tiene varios elementos. Cada línea de esta lísta es un elemento de la lista. Como el número número de element elementos os de la lista lista tiene tiene mas elementos elementos de los que le podía podían n caber caber,, generó generó automáticamente la barra de desplazamiento vertical. El ComboBox está normalmente sin desplegar. Se despliega cuando se hace click con el ratón en la f lecha que tiene en su parte derecha derecha (véase fig. Anterior). Anterior). Al desplegarse desplegarse,, muestra la lista con todos sus elementos. Haciendo click con el ratón en cualquiera de sus elementos, el elemento elegido pasa a la parte TextBox TextBox del Combo y la lista vu elve a replegar. El ListBox (y por tanto el ComboBox) tiene tiene unas unas propie propiedad dades es y métodos métodos particu particular lares es que solamente se pueden aplicar durante el tiempo de e jecución :
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 26
Propiedades e lementos que tiene la lista ListCount - Indica el número de elementos ListIndex - Indica el número de orden del elemento seleccionado dentro de la lista. Text - Obtiene el elemento seleccionado. List (n) - Obtiene el elemento cuyo orden dentro de la lista es n. Métodos
AddItem - Añade un elemento a la lista. RemoveItem - Elimina un elemento de la lista. Clear – Borra todos los elementos de la lista ListCount valdrá 0 si la lista no tiene ningún ele mento, y n si tiene n elementos. Para Para seleccio seleccionar nar un elemento elemento de la lista, lista, basta basta con hacer hacer click con el ratón ratón sobre sobre él. Ese Ese element elemento o se resalt resaltará ará con fondo en azul. azul. Una Una vez selecci selecciona onado do un elemen elemento, to, la propie propiedad dad ListIndex tomará el valor del número de orden que ocupa ese elemento en la lista, comenzando por el 0 para el elemento que ocupa el primer lugar. Si no se selecciona ningún elemento, el valor de la propiedad ListIndex será -1. El primer elemento de la lista es ListIndex 0, y el valor de la propiedad ListCount siempre es uno más que el valor mayor de ListIndex. En el ComboBox la propiedad Text contiene el texto que contenga la parte TextBox del Combo, bien haya sido introducida desde teclado o mediante la recuperación de un elemento la parte ListBox del mismo.
Ejemplos Supongamos que tenemos un ListBox llamado List1, y un ComboBox llamado Combo1. Se enumeran distintas formas de obtener información de ellos. Variable = List1.Listcount Variable contendrá un número con el número total de elementos de la lista List1. Variable = List1.ListIndex Variable contendrá contendrá un número con el número de orden orden del elemento elemento de la lista seleccionado en ese momento. List1.AddItem “ELEMENTO NUEVO” Añade un elemento a List1. En este caso, el elemento añadido es la palabra ELEMENTO NUEVO. Variable = “VISUALBASIC” List1.AddItem Variable Añade un elemento a List1. En este caso, el elemento añadido es la palabra VISUALBASIC. Variable = List1.Text Variable contendrá el elemento que estaba seleccionado en List1. (Variable (Variable será una cadena de caracteres) Variable = List1.List (n) Variable contendrá el elemento que ocupa el número de orden n dentro de la lista. Variable = List1.List (List1.ListIndex)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 27
Variable contendrá el elemento que estaba seleccionado en List1. Se ha utilizado la propiedad List para obtener el elemento, y en vez de introducir un número para definir el elemento que se desea, se introdujo el valor ListIndex de List1, que es concretamente, el número de orden del elemento seleccionado en ese momento. Observe que poner List1.List (List1.ListIndex) (List1.ListIndex) es idéntico a poner List1.Text. List1.Text. List1.RemoveItem (n) Elimina el elemento n de List1. List1.RemoveItem (List1.ListIndex) Elimina el elemento que estaba seleccionado en ese momento. List1.listIndex = n Selecciona el elemento n de List1 (Se resalta en azul el elemento n)
PROPIEDADES PROPIEDADES DE ListBox y de ComboBox Las señaladas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes.
Appearance
Backcolor
Columns
Propiedad de ListBox solamente.
(*)
Determina si los elementos se presentan en una sola columna o en varias columnas, y la forma de presentar los elementos en el ListBox. Si esta propiedad se pone a 0 la lista tendrá solamente una columna, y presentará los elementos uno debajo de otro. Cuando los elementos sean mas que los que se pueden pueden presentar en en la lista, aparecen automáticamente unas barras de desplazamiento desplazamiento vertical. Si la propiedad se pone a un número distinto a 0, el ListBox es de tipo multicolumna, presentará en cada columna los elementos que le quepan dependiendo de su dimensión vertical, y tendrá tant tantas as colu column mnas as como como sea sea nece necesa sari rio o para para alber alberga garr el núme número ro de eleme element ntos os que que teng tenga. a. Presentará en su cuadro tantas columnas como se le indique en el valor de esta propiedad, y si no puede presentar todos los elementos en las columnas que muestra, le aparecerán barras de desplazamiento horizontales para poder movernos por todas las columnas que tenga. Recuerde : El número que se le asigna a la propiedad Columns no indica el número de columnas que tendrá el ListBox sino el número de columnas que presenta. Esta propiedad puede asignarse en diseño, mediante la caja de propiedades, o en tiempo de ejecución mediante una instrucción como esta : Nombrelista.Columns = número . Esta propiedad no puede definirse a 0 o cambiada desde 0 en tiempo de ejecuciones decir, no se puede puede converti convertirr en tiempo tiempo de ejecuci ejecución ón un ListBox ListBox de múltipl múltiples es column columnas as en un ListBo ListBox x de columna única o un ListBox de columna única en un ListBox de múltiples columnas. Sin embargo, sí es posible cambiar durante la ejecución el número de columnas de un ListBox de múltiples columnas.
DataField DataSource
. Establecen el control Data asociado y el campo donde están los datos que se lleva rán al TextBox TextBox o ComboBox para presentar datos procedentes de una Base de Datos.
DragIcon
DragMode
Enabled
Font
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 28
ForeColor
Height
HelpContextIDIndex ItemData
(*) Propiedad muy importante.
Devuelve Devuelve o establ establece ece un número número específic específico o para para cada cada elemen elemento to de un control control ComboBox ComboBox o ListBox. NombreDeLaLista.ItemData(índice) [= número]
Sintaxis
Nombr ombreD eDeL eLaL aLiista sta Nombr ombre e del del List ListB Box o Com Combo boBo Box. x. índice El número de un elemento concreto del objeto. núme úmero El núm núme ero qu que se se as asocia cia co con el el el eleme emento nto es especifi ificado. La propiedad ItemData es una matriz de valores enteros largos cuyo número de elementos es el valor de la propiedad ListCount del control. Los números asociados con cada elemento se pueden usar para cualquier fin. Por ejemplo, se puede usar en la confección de una lista de teléfonos, el número de identificación de un empleado, etc. Cuando se rellena el ListBox, también se rellena los elementos correspondientes de la matriz ItemData con los nú meros correspondientes. La propiedad ItemData se usa a menudo como índice de una matriz de estructuras de datos asociados con los elementos de un control ListBox. Nota Cuando se inserta un elemento en una lista con el método AddItem, AddItem, el elemento también se inserta automáticamente en la matriz ItemData. Sin embargo, el valor no se reinicializa a cero; retiene el valor que estaba en esa posición antes agregar el elemento a la lista. Cuando se usa la propiedad ItemData, asegúrese de establecer su valor al agregar nuevos elementos a la lista.
Left
(*)
List
Es el contenido de la lista. Si la lista de elementos es corta e invariable, pueden introducirse los elementos en el cuadro de propiedades durante el diseño.
MouseIcon
MousePointer
Name
(*)
Sorted Establece o devuelve devuelve un va lor que indica si los elementos de un ListBox o ComboBox ComboBox se colocan automáticamente en orden alfabético. Los valores que puede adoptar son True o False.
True
Los Los element elementos os de la lista lista se ordena ordenan n alfabéti alfabéticame camente nte (sin (sin distin distingui guirr entre entre mayúsculas y minúsculas). False (Predeterminado) Los elementos de la lista no se ordenan alfabéticamente. Cuand Cuando o esta esta propie propiedad dad tiene tiene el valor True, True, Visua Visuall Basic Basic se encarg encarga a de casi casi todo todo el procesamiento de cadenas necesario para mantener el orden alfabético, incluyendo el cambio de los números de índice cuando se agregan o elim inan elementos.
Nota El uso del método AddItem para agregar un elemento en una posición específica de la lista puede romper el orden alfabético, y los elementos agregados con posterioridad pueden no ordenarse correctamente.
TabIndex
TabStop
Tag
Top
Visible
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 29
WhatsThisHelpID
Width (*)
PROCEDIMIENTOS Click Change (Solo ComboBox) DblClick DropDown (Solo ComboBox) GotFocus KeyUp LostFocus MouseDown (Solo ListBox) MouseUp (Solo ListBox)
DragDrop DragOver KeyDown KeyPress MouseMove (Solo ListBox)
NOTA MUY IMPORTANTE El procedimiento Change del ComboBox solamente se efectúa cuando el cambio se produce mediante la entrada de un texto DESDE EL TECLADO , no por un cambio en la parte Text de este control, producido al llevar lle var un elemento desde la parte L ist a la parte Text. Text.
CONTROLES HScrollBar y VScrollBar Son dos controles similares, para introducir un dato cuasi-analógico en una aplicación. Se toman directamente de la caja de herramientas, y tienen un aspecto parecido al de un control de volumen de un equipo de música. El HScrollBar está en posición horizontal, y el VScrollBar en posición vertical.
Mediante estos controles se pueden introducir datos var iando la posición del cursor. cursor.
PROPIEDADES PROPIEDADES de HScrollBar y VScrollBar Las señaladas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes.
DragIcon
DragMode
Enabled
Height
HelpContextID
Index
(*)
LargeChange Esta propiedad establece la variación de la propiedad Value cada vez que se hace click en el interior de la barra de desplazamiento, en la parte por donde pasa el cursor. cursor.
Left
(*)
Max Esta propiedad establece el valor máximo para la propiedad Value, es decir, el valor de esta
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 30
propiedad cuando el cursor está en su parte máxima. (Recuerde que el cursor está en el máximo, cuando está mas a la derecha, caso del HScrollBar, o cuando está en la parte mas baja, caso del HScrollBar.
Min Esta propiedad establece el valor mínimo para la propiedad Value, es decir, el valor de esta propiedad cuando el cursor está en su parte mínima. (Recuerde que el cursor está en el mínimo, cuando está mas a la izquierda, caso del HScrollBar, o cuando está en la parte mas alta, caso del HScrollBar.
MouseIcon
MousePointer
Name
(*)
SmallChange Esta propiedad establece la variación de la propiedad Value cada vez que se hace click en las flechas superior o inferior de la barra de desplazamiento.
TabIndex
TabStop
Tag
Top
(*)
Value Esta propiedad lee o establece el valor dado por la posición del cursor. Este valor tiene un m ínimo, establecido por Min y un máximo, establecido por Max. Esta propiedad es la que se debe leer para conocer la posición del cursor.
Visible
WhatsThisHelpID
Width
(*)
PROCEDIMIENTOS DE HScrollBar y VScrollBar Change KeyUp
DragDrop LostFocus
DragOver Scroll
GotFocus
KeyDown
KeyPress
Comentario
El Procedimiento Change se produce cuando, tras mover el cursor, se suelta el botón del ratón. Esto produce el efecto de que el cambio que se tenga que producir con el movim iento del cursor no se realiza de una manera continua. El procedimiento Scroll se realiza en el instante que se está moviendo el cursor. Por lo tanto, es este procedimiento el que se debe usar para conseguir el efecto de un cambio continuo mientras se está moviendo e l cursor. cursor.
TIMER
TEMPORIZADOR
Este objeto permite establecer temporizaciones. Presenta una novedad respecto a los controles estudiados hasta ahora. El control Timer solamente se ve durante el tiempo de diseño. En tiempo de ejecución, el control permanece invisible. La temporiz temporizaci ación ón produci producida da por el Timer es independ independien iente te de la velocida velocidad d de trabaj trabajo o del ordenador. ordenador. (Casi independiente. El timer no es un reloj exacto, pero se le parece) Se toma directamente de la caja de herramientas, y tiene el aspecto siguiente :
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 31
PROPIEDADES Enabled
Index
(*)
Interval El valor de esta propiedad nos dará el intervalo de tiempo (en milisegundos) en que se producirá un evento Timer y consecuentemente, realizará el procedimiento asociado a este evento. Si el valor de la propiedad Interval está a 0 (Predeterminado), no se produce el evento Timer . (El control Timer está deshabilitado cuando la propiedad Interval = 0)
Left
Name
Tag
Top
(*)
PROCEDIMIENTOS Timer Se produce cada vez que se cumple un intervalo completo.
CONTROL SHAPE Se toma directamente de la caja de herramientas :
Shape es un control gráfico que se muestra como un rectángulo, un cuadrado, una elipse, un círculo, un rectángulo redondeado o un cuadrado redondeado. Un control control Shape no actúa como contenedor contenedor de controles. controles. (Esto (Esto quiere decir que un control control Shape nunca le servirá, por ejemplo, para albergar varios OptionButton y pretender que sean independientes de otros controles OptionButton que se encuentren fuera del control Shape. Este control no tiene Procedimientos. En realidad, solamente sirve para mostrar un determinado gráfico, envolver gráficamente a otros controles, pero no tiene ninguna aplicación en cuanto a programa. Es un “adorno “adorno”” para sus aplicaciones.
PROPIEDADES Backcolor
(*)
BackStyle LSB Visual Basic - Guía del Estudiante Cap. 2 Página 32
Esta propiedad establece si Shape permite ver a su través (Transparent) o n lo permite (Opaque)
BorderColor Establece el color del borde.
BorderStyle Establece el tipo de borde. Puede ser : Transparent, (No se ve el borde), Solid, (Borde de línea continua),Dash, (línea a rayas), Dot, (línea a puntos), Dash-Dot, (línea de raya - punto), dash-DotDot, (línea de raya - punto - punto), InsideSolid, (raya continua) El efecto de establecer la propiedad BorderStyle depende del valor de la propiedad BorderWidth. Si BorderWidth no es 1 y BorderStyle no es 0 o 6, BorderStyle se establece como 1.
BorderWidth Establece el ancho de la línea.
DrawMode
FillColor
FillStyle
Height
Index Left
Name (*)
Shape Establece la forma del control. Puede ser : Rectangular, cuadrado, redondo, ovalado, cuadrado con esquinas redondeadas y rectangular con esquinas redondeadas.
Tag
Top
PROCEDIMIENTOS
Visible
Width
(*)
No tiene.
CONTROL LINE Se toma directamente de la caja de herramientas
Line, al igual que Shape, es un control gráfico que solamente sirve para poner una línea en un formulario. formulario. Del mismo modo, no tiene procedimiento procedimientos, s, por lo que no sirve para aportar aportar código al programa. Solo sirve para aportar una característica gráfica, es un adorno.
PROPIEDADES BorderColor Establece el color de la línea.
BorderStyle Esta Establ blec ece e el tipo tipo de línea línea : Pued Puede e ser ser : Trans ranspa pare rent, nt, (No (No se ve la líne línea) a),, Soli Solid, d, (Lín (Línea ea continua),Dash, (línea a rayas), Dot, (línea a puntos), Dash-Dot, (línea de raya - punto), dash-DotDot, (línea de raya - punto - punto), InsideSolid, (raya continua)
BorderWidth Establece el ancho de la línea.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 33
DrawMode X1, X2
Index Y1, Y2
Left
Name
Tag
Visible
(*)
Establece las coordenadas y del inicio y final
PROCEDIMIENTOS No tiene. AÑADIR CONTROLES CONTRO LES A LA CAJA DE HERRAMIENTAS Los controles descritos hasta ahora son parte de los que aparecen en la caja de herramientas mas elemental de Visual Basic. Estos, otros que se estudiarán en el capítulo 4 (Controles para mostrar imágenes), el control Data y el contenedor OLE que se estudiarán en la segunda parte del curso, son los que están incluidos en la caja de herramientas mas elemental. La razón es que estos controles vienen como lo más elemental de Visual Basic, como lo que es imprescindible para que funcione una aplicación realizada en VB. La pregunta es ahora, ¿qué es lo más elemental de VB?
Son tres tres DLLs, Visual Visual Basic For For Aplications Aplications (MSVBVM6 (MSVBVM60.DLL) 0.DLL),, Visual Visual Basic Runtime Runtime Objets Objets And Proc Procedur edures es (MSVBV (MSVBVM60. M60.DLL DLL\3) \3) y Visual Visual Basic Basic Objets Objets And Proce Procedur dures es (VB6.OLB). (VB6.OLB). Una aplicación, aplicación, por muy elemental que sea, necesita esos tres ficheros. ficheros. Pero posiblemente no haya ninguna aplicación práctica que se pueda realizar con esos cont contrroles oles.. Hay más. más. Lo que que ocur ocurrre es que hay que intr introd oduci ucirlo rlos s en la caja caja de herramientas. Para ello, basta con desplegar el menú de Proyecto de la barra de menú:
Eligiendo el elemento Componentes Componentes de este menú desplegado nos muestra todos los comp compon onen ente tes s exist xisten ente tes s en el disc disco, o, que que podr podrem emos os saca sacarr a nues nuestr tra a caja caja de herramientas para poder utilizarlos. En la siguiente figura puede ver el cuadro con los controles existentes en el PC del autor. Puede observarse que está seleccionado el control Calendar, y en la parte de abajo puede verse la ubicación y nombre del fichero LSB Visual Basic - Guía del Estudiante Cap. 2 Página 34
que contien contiene e ese control control (MSCAL (MSCAL.OC .OCX) X).. No todos los contr controle oles s son de Micro Microsof soft. t. Observe Observe que hasta Kodak realiza (o le realizan) realizan) controles. controles. Existen muchas empresas empresas que venden controles, unas con mejor calidad que otras. En este tema debe tener especia especiall preca precauci ución ón con los contr controle oles s que se distri distribuye buyen n de forma forma gratui gratuita ta por Internet. No utilice nunca un control adquirido p or este procedimiento si no tiene plena confianza en el origen del mismo y lo ha probado concienzudamente. Suelen fallar con bastante frecuencia y, lógicamente, no tienen ninguna garantía. Sea prudente y utilice solame solamente nte aquello aquellos s contr controle oles s de firmas firmas de recono reconocido cido pres prestigi tigio, o, y que le puedan puedan aportar garantía de funcionamiento. Obviamente estos controles controles suelen ser de pago.
Estos Estos contro controles les que adquie adquiere re con poster posterior iorida idad d a la instal instalaci ación ón del Visua Visuall Basic Basic hay que asuste. No se trata de registrarlos registrarlos ante el fabricante para poder utilizarlos. Se registrarlos. No se asuste. trata de introducirlos en el registro de Windows. Con ello Windows conoce el CLSID de ese control, su ubicación en el disco duro (los controles suelen estar en C:\Windows\System, pero pueden estar en cualquir otra carpeta). Windows necesita registrarlos para poder encontrarlos. Para registrar un control se utiliza el programa Regsvr32.exe. Para registrar un control basta con ejecutar este programa, pasandole como parámetro el nombre y ubicación del control a registrar. Esto Esto se hace hace en Inicio Por ejemplo, ejemplo, para regist registrar rar el conjunt conjunto o de control controles es Inicio | Ejecut Ejecutar ar . Por VB_Gui VB_GuiaEs aEst.O t.Ocx cx introdu introducirí ciríamos amos ese ese fichero fichero Ocx en C:\Windo C:\Windows ws\Sy \Syste stem m y a contin continuaci uación ón ejecutamos: c:\windows\system\ VB_GuiaEst.Ocx regsvr32 c:\windows\system\
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 35
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 36
El conjunto de todos los controles es la colección Controls Verá a lo largo del curso que Visual Basic utiliza mucho las colecciones colecciones.. Una de ellas es la colección Controls, que es el conjunto de todos los controles existentes en un formulario . Visua Visuall Basic Basic trata trata a las coleccion colecciones es como como un objeto objeto más. más. Así, Así, las coleccion colecciones es tienen tienen sus sus propi propied edad ades es.. No vamos vamos a entr entrar ar en demas demasia iado dos s deta detall lles es de momen momento to,, pero pero una una de las las propiedades de todas las colecciones en Count, que es precisamente el número de elementos que componen esa colección. La numeración de los elementos de una colección siempre va del 0 al n-1, siendo n el número de elementos de esa colección.
Vamos a ver una expresión que nos puede ayudar mucho. Sirve para saber a que tipo de control pertenece un u n determinado elemento. Esa expresión es TypeOf TypeOf y siempre se debe usar con una sentencia condicional If y aplicarla aplicarla solamente solamente sobre una variable variable tipo objeto. (No se preocupe al leer esto, es muy fácil) (No se puede utilizar con Select Case) Una variable tipo objeto es una variable que no contiene un dato numérico o string. Contiene un objeto. Por ejemplo, un control. Podemos declarar una variable como Control Dim Pepe as Control Pepe será un control. Ahora podemos poner For Each Pepe in Controls todos If TypeOf Pepe Is TextBox Then Pepe.Locked = True End If Next Pepe
‘ Para cada valor que tome Pepe haciedole recorrer recorrer ‘ los elementos de la colección Controls ' Si pepe es un TextBox …. ' lo bloquea bloq uea
Puede Puede usar usar este este código código para para bloquea bloquearr todos todos los TextBox extBox de un formulario formulario.. Se mete en un procedimiento procedimiento llamado Bloquear (p.e.) y cada vez que queramos bloquear bloquear todos los TextBox TextBox del formulario basta con citar a este procedimiento. Un código similar similar sería Dim I As Integer For I = 0 To Controls.Count - 1 If TypeOf Controls(I) Is TextBox TextBox Then Controls(I).Locked = True End If Next (Observ (Observe e que en la segund segunda a versión, versión, trabaj trabajamos amos directame directamente nte sobre sobre los elemen elementos tos de la colección, que se distinguen unos de otros mediante el Indice colocado entre paréntesis. En este caso, la variable I que tomará los valores entre 0 y n-1)
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 37
Resumen de Propiedades de los controles Visual Basic Caption
Título
Es el texto del control o lo que figura en la barra de menú del formulario. Puede cambiarse en tiempo de ejecución.
Drag DragMo Mode de
Modo Modo de inic inicia iarr una una oper operac ació ión n de de Dra Drag g & Drop rop
Establece un valor que determina si se usa el modo de arrastre manual o automático en una operación de arrastrar arrastrar y colocar. Los valores posibles posibles de esta esta propiedad son: 0 1
DrawStile
Manual Automático
Estilo de de dibujo
Establece el estilo de línea de la salida de métodos gráficos: Valores: 0 - Línea continua 1 - Rayas 2 - Puntos 3 - Raya - Punto 4 - Raya - Punto - Punto 5 - Transparente 6 - Continuo interior.
DrawWidt Width h
Ancho de la línea
Establece el ancho de una línea dibujada. El va lor debe expresarse en pixeles.
Enabled
Activado
Propiedad Booleana. Si está en True, el formulario o control está activado y se puede interactuar con él. Si está en False, se desactiva, impidiendo de esta forma, que se pueda trabajar con él. Puede variarse en tiempo de e jecución. Cuando un control está deshabilitado (Enabled = False), el control no tiene efecto, y su apariencia varía, presentando un tono pálido tanto en su cuerpo como en su título.
FillStyle
Tipo de relleno
Establece el modo de rellenar controles Shape, o figuras (círculos o cuadrados) creados con los métodos gráficos Circle y Line. Valores:
FillColor
0 - Continuo 1 - Transparente 2 - Línea Horizontal 3 - Línea Vertical 4 - Diagonal hacia arriba 5 - Diagonal hacia abajo 6 - Cruzado 7 - Diagonal cruzada
Color de relleno
Especifica el color del relleno contemplado en FillStyle.
Font
Fuente
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 38
Es el tipo de letra para el título o el texto del control. Puede cambiarse en tiempo de ejecución.
FontSize
Tamaño de letra
Establece el tamaño de la letra que se usará en ese formulario o control (U otro objeto VB, p.e. el Printer). Esta propiedad puede variarse en tiempo de ejecución. El tamaño debe expresarse en puntos. Máximo, 2160 puntos.
FontBold, FontItalic, FontStrikethru, FontUnderline Permiten, en tiempo de ejecución, cambiar un texto a negrita, cursiva, cursiva, tachado y subrayado. Son propiedades Booleanas True / False
Height
Altura
Define la altura de un formulario o control. El valor de esta propiedad no se introduce normalmente como como un dato dato numér numéric ico, o, sino sino que que toma toma el valor valor auto automá mátic ticam amen ente te,, depe dependi ndien endo do de las las dimensi dimensione ones s del objeto objeto durant durante e el tiempo tiempo de diseño diseño.. Puede Puede cambiar cambiarse se durant durante e el tiempo tiempo de ejecución.
HelpContextID
Número de Contexto
Establece un número de contexto asociado para este formulario. Este número se aplica para determinar la ayuda interactiva asociada a este formulario o control. Vea mas adelante, el tema Ayuda de Windows. Puede Puede tomar tomar los los sigui siguient entes es valor valores es :
Index
0 - No No se especif especifica ica núme número ro de de contex contexto to >0 Un entero que especifique un contexto válido.
Indice
En el caso caso de que se tengan tengan varios varios control controles es que realic realicen en una función función similar similar (Las teclas teclas numéricas de una calculadora, p.e.) puede hacerse un array con estos controles. Todos tendrán el mismo nombre, y se diferencian por un índice. La propiedad Index de ese control toma el número de ese índice.
Left
Posición de su parte izquierda.
Indica la posición del control, concretamente de la parte izquierda del mismo. Normalmente esta propiedad no se introduce numéricamente, sino que la toma automáticamente de la posición que se le de al control en t iempo de diseño. Puede cambiarse en tiempo de e jecución.
MouseIcon
Valor por defecto: ninguno
Establece un icono personalizado para el puntero del ratón cuando esté encima del Formulario o control. Este icono puede ser un Bitmap de los existentes en el directorio Icons de Visual Basic o cualquiera que tengamos. Si se pone 99 como valor de la propiedad MousePointer (siguiente), cada vez que el puntero del ratón pase por este Formulario o control, cambiará su forma y adoptará la del icono elegido.
MousePointer
Valor por defecto: flecha
Determina la forma del puntero del ratón cuando se coloca encima del formulario o control. Puede elegirse uno de los punteros preestablecidos (15 en total) o el personalizado visto en la propiedad anterior. Para elegir ese icono personalizado, debemos poner en esta propiedad propiedad el valor va lor 99.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 39
TabIndex
Nº de orden para tabulador
Cuando disponemos de varios controles en un mismo formulario, solamente uno de ellos tiene el foco. Esta expresión de tener el foco significa que ese control está remarcado y en esa condición, si pulsamos la tecla ENTER haría el mismo efecto que hacer click con el ratón en ese control, o, en el caso de un TextBox, TextBox, las letras pulsadas en el teclado v an a ese e se TextBox. TextBox. Podemos variar el foco de un control a otro mediante la tecla TAB (TABulador).Esto es necesario, ya que existen ordenadores que no disponen de ratón (típico de algunos portátiles). En estos casos, para elegir uno u otro control debemos pulsar repetidas veces la tecla TABulador. El foco irá cambiando de uno a otro control (pueden ser controles de distinto tipo) cada vez que pulsemos la tecla TABulador. TABulador. Esta propiedad TabIndex marca el orden que seguirá el foco a través de cada control.
TabStop
Sale del control de la tecla TAB
Propiedad Booleana. Cuando Cuando esta propiedad está a False, el botón no tomará el foco cuando se pulse la tecla del Tabulador. Sin embargo sigue manteniendo el índice de la propiedad TabIndex descrita descrita anteriormente. anteriormente. Puede Puede cambiarse cambiarse en tiempo de ejecución. ejecución. Esto nos permite permite descarta descartar r algún algún botó botón n de tomar tomar el foco, foco, cuan cuando do por por facil facilid idad ad para para el usua usuari rio, o, sea sea conve convenie nient nte e en determinados puntos del programa.
Tag
Valor auxiliar auxi liar
Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar al formulario información adicional para fines externos a la programación. Pero también le puede servir para almacenar en ella una variable para que la use un código ajeno al formulario. El autor de esta Guía del Estudiante tiene por costumbre utilizar la propiedad Tag del formulario inicial para guardar el parámetro que se le pasa a algunos programas para acceder a ellos con unos determinados privilegios. Resumiendo, está está ahí para lo que el programador quiere.
Top
Posición de la parte superior
Indica Indica la coorde coordenad nada a de la parte parte super superior ior del control control.. Puede Puede variars variarse e durant durante e el tiempo tiempo de ejecución. Esta propiedad, juntamente con Left definen la esquina superior izquierda del botón de comand comando. o. Normalm Normalmente ente esta esta propi propieda edad d no se introd introduce uce numéri numéricame camente nte,, sino sino que la toma toma automáticamente de la posición que se le den al botón en tiempo de diseño. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecución.
Visible Propiedad Booleana. Asignándole el valor True True al control o formulario, será visible, y asignándole el valor False, False, no se verá. verá. Este Este valor puede cambiar cambiarse se durante durante el tiempo tiempo de ejecuci ejecución ón para ocultar y hacer visible el formulario o control correspondiente.
WhatsThisHelpID
(Propiedad, Windows 95)
Devuelve o establece un número de contexto asociado a un objeto. Se utiliza para dotar a las aplicaciones de Ayuda Ayuda interactiva con el menú emergente ¿Qué es esto? de la Ayuda Ayuda de W 95.
Width
Ancho
Define la anchura del formulario o control. Normalmente no se introduce como valor numérico sino que lo toma automáticamente del tamaño que tenga el formulario o control durante el tiempo de diseño. Juntamente con Height define el tamaño del objeto. Puede cambiarse durante el tiempo
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 40
de ejecución
RESUMEN DE LOS EVENTOS DE LOS OBJETOS VISUAL BASIC Evento Click
Hacer Click con el botón izquierdo del ratón
Lo tienen casi todos los controles y el formulario. Es el evento habitual para introducir el código que queremos que realice el programa al hacer click sobre un determinado control. No es el único evento evento donde donde podemo podemos s hacerl hacerlo, o, pues pues también también tenemo tenemos s otros otros muy pareci parecidos dos (Mouse (MouseDo Down wn,, MouseUp), pero pero que funcionan de distinta distinta forma. El evento Click en el formulario se efectúa cada cada vez que pulsamos uno de los botones del ratón. En los controles, sólo con el botón izquierdo. Si un control tiene el foco, se ejecutará su evento Click al pulsar ENTER o la barra espaciadora. El evento Click no pasa parámetros
Evento DragDrop
Acción de Soltar durante el Drag & Drop Se produce cuando se ‘suelta’ el ratón sobre un formulario o control, durante una operación de Drag & Drop. Pasa los parámetros Source As Control, X As Single, Y As Single , donde Source es el control donde se originó el Drag & Drop, y X e Y las coordenadas del puntero del ratón en el momento de soltar. Vea Vea el capítulo de Drag & Drop
Evento DragOver
Arrastrar por encima Ocurre cuando se pasa por encima de un formulario o control durante la operación de Drag & Drop. Pasa los parámetros Source As Control, X As Single , Y As Single, State As Integer. Los parámetros son los mismos que en el procedimiento anterior. State es un entero que indica el estado de transición del puntero sobre el formulario. Toma los siguientes valores : 0 = Entra (El puntero del ratón está entrando al formulario o control). 1 = Deja (El puntero del ratón está saliendo del formulario o control). 2 = Sobre (El puntero del ratón se desplaza de una posición a otra dentro del formu lario o control). Vea el capítulo de Drag & Drop
Evento GotFocus Tomar el Foco Ocurre este evento cuando el control toma el foco. Tomar el foco significa que se acaba de convertir en el control activo. (por ejemplo, cuando llevamos el cursor y hacemos click sobre un Text Box. Hay algunos controles que no tienen procedimiento GotFocus porque nunca toman el foco (Label, p.e.)
Evento KeyDown Pulsar una tecla (Ocurre cuando el control tiene e l foco) Se produce sobre el control que tiene el foco al pulsar una tecla, justo en el instante que llega a su posición inferior. Pasa como parámetros parámetros el KeyCode KeyCode As Integer y el Shift As Integer. El KeyCode es el código de la tecla (no confundir con Keyascii, que es el código de la letra. Hay teclas que no tienen Keyascii y sí tienen KeyCode KeyCode F1, F2, ...Insert, ) Shift es la posición de la tecla Mayúsculas (1=pulsada, 0=levantada)
Evento KeyPress Pulsar una tecla (Ocurre cuando el control tiene el foco) Este evento se produce después del KeyDown, y pasa como parámetro el KeyAscii As Integer, que es el código Ascii de la letra cuya tecla se ha pulsado. Evento KeyUp Levantar la tecla pulsada (Ocurre cuando el control tiene el foco) Ocurre Ocurre al levantar levantar la tecla, tecla, despué después s del KeyPr KeyPres ess. s. Pasa Pasa como como parámet parámetros ros los mismos mismos que que KeyDown, KeyCode As Integer, Shift As Integer
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 41
Estos Estos tres eventos eventos se producen producen también también en el formular formulario io (y antes que en el contro control), l), si el formulario tiene l a propiedad KeyPreview = True
LinkClose LinkError LinkNotify LinkOpen
Son eventos relacionados con el DDE (Intercambio Dinámico de Datos). Ocurren respectivamente cuando se cierra el enlace DDE, cuando ocurre un error en el enlace, cuando han cambiado los datos en origen y en destino se ha establecido la propiedad LinkMode a Notify, y cuando se inicia una conversación DDE. Vea el capítulo dedicado al DDE para mas detalles.
LostFocus
Ocurre cuando el control pierde el foco. Este evento es muy importante, por ejemplo en un Text Box, para dar el formato adecuado al texto contenido en ese Text Text Box, o para comprobar que es correcto, etc.
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Se ejecuta en el instante de apretar el botón de mouse, cuando está el puntero encima del formulario o control correspondiente. Pasa como parámetros el botón pulsado (1= izquierdo, 2 = derech derecho, o, 3 = centro) centro),, la tecla tecla mayúscu mayúsculas las (Shift=1 (Shift=1 signific significa a pulsad pulsada, a, =0 no pulsad pulsada) a) y las coordenadas X e Y del puntero del ratón.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Se ejecuta cuando pasa por encima del fo rmulario o0 control el puntero del ratón
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Similar a MouseDown, pero cuando se levanta el botón.
Existen mas eventos. No se van a mencionar aquí todos, pues se irán viendo según avance el curso.
Y no se preocupe preocupe si este capitulo le ha resultado muy pesado. pesado. Les pasa a todos. todos. El próximo va a ser mas divertido.
LSB Visual Basic - Guía del Estudiante Cap. 2 Página 42