![]() |
La propiedad List es un arreglo que contiene los elementos de la lista, y comienza con índice 0. La propiedad ListCount establece el número total de elementos de la lista. La propiedad ListIndex contiene el índice del elemento seleccionado, el cual es un número entre 0 (primer elemento) y el número total de elementos en la lista –1 (ListCount – 1). Si no se selecciona ningún elemento, el valor de la propiedad ListIndex será –1.
Eventos
Click: Ocurre cuando el usuario interactúa con el control.
Función MsgBox()
Los cuadros de mensaje ofrecen un modo
simple y rápido de consultar a los usuarios por información
simple o para permitirles tomar decisiones sobre el camino que su programa
debe tomar. Puede usar esta función para mostrar diferentes tipos
de mensaje y botones con los cuales el usuario da una respuesta.
Formato
MsgBox( prompt [, buttons] [, title ] [, helpfile, context] )
EL formato de la función MsgBox consta de los siguientes argumentos:
Parte Descripción
Buttons Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor predeterminado para buttons es 0.
Title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si se omite title, en la barra de título se coloca el nombre de la aplicación.
Helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar ayuda interactiva en el cuadro de diálogo. Si se especifica helpfile, también se debe especificar context.
Context Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile.
Nota: Si desea omitir algún argumento, debe incluir
el delimitador de coma correspondiente o utilizar argumentos con nombre.
![]() |
Seleccionando el cuadro de lista (List Box), se ingresan las funciones propuestas en la ventana de propiedades de List1, como se indica en la figura.
Dim A, B, C, k, P, x As Double
‘Carga el formulario y posiciona la interfaz en el centro de la pantalla.
Private Sub Form_Load()
Form1.Left = (Screen.Width - Form1.Width) / 2
Form1.Top = (Screen.Height - Form1.Height) / 2
End Sub
‘La siguiente subrutina se ejecuta toda vez que el usuario selecciona una función haciendo click con el mouse. Los 11 ítems (funciones) están indexados de 0 a 10. Al elegir los ítems 2 y 3, por estar prohibida la división por cero, se envía un mensaje de advertencia. El cálculo de potencias de exponentes no enteros se efectúa por medio de logaritmos. En consecuencia, si se selecciona el ítem 4, se advierte al usuario que x>0.
Private Sub List1_Click()
If List1.ListIndex = 2 Or List1.ListIndex = 3 Then
MsgBox ("-----Debe ser x<>0-----")
End If
If List1.ListIndex = 4 Then
MsgBox ("-----Debe ser x>0-----")
End If
End Sub
‘Cuando se cliquea el botón de acción, si no se ha seleccionado previamente una función, el valor del índice es –1, en cuyo caso se advierte al usuario.
Private Sub Command1_Click()
If List1.ListIndex = -1 Then
MsgBox ("Seleccione Función e Ingrese Datos")
End If
‘Los siguientes bloques If permiten identificar la función seleccionada, ingresar los parámetros y la variable y finalmente mostrar el resultado.
If List1.ListIndex = 0 Then
A = Val(TextA.Text)
B = Val(TextB.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * x + B)
End If
If List1.ListIndex = 1 Then
A = Val(TextA.Text)
B = Val(TextB.Text)
C = Val(TextC.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A + B * x + C * x ^ 2)
End If
If List1.ListIndex = 2 Then
A = Val(TextA.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A / x)
End If
If List1.ListIndex = 3 Then
A = Val(TextA.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A / (x ^ 2))
End If
If List1.ListIndex = 4 Then
A = Val(TextA.Text)
B = Val(TextB.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * x ^ B)
End If
If List1.ListIndex = 5 Then
A = Val(TextA.Text)
k = Val(Textk.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * Exp(k * x))
End If
If List1.ListIndex = 6 Then
A = Val(TextA.Text)
k = Val(Textk.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * (1 - Exp(k * x)))
End If
If List1.ListIndex = 7 Then
A = Val(TextA.Text)
k = Val(Textk.Text)
P = Val(TextP.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * Sin(k * x - P))
End If
If List1.ListIndex = 8 Then
A = Val(TextA.Text)
k = Val(Textk.Text)
P = Val(TextP.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * Cos(k * x - P))
End If
If List1.ListIndex = 9 Then
A = Val(TextA.Text)
k = Val(Textk.Text)
P = Val(TextP.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(A * Tan(k * x - P))
End If
If List1.ListIndex = 10 Then
A = Val(TextA.Text)
B = Val(TextB.Text)
k = Val(Textk.Text)
w = Val(Textw.Text)
x = Val(Textx.Text)
Texty.Text = "f(x)=" + Str$(Exp(k * x) * (A * Sin(w * x) + B * Cos(w * x)))
End If
End Sub