19 septiembre 2007

Creando menús con Visual Basic 6.0

Una de las características de los programas actuales es el uso de menús. Desde tiempos remotos, cuando todavía las computadoras no tenían gráficos y la única manera de interactuar con ellas era con un menú. Al principio, eran bastante simples. Imagínate que solo podías usar letras verdes, naranjas o blancas sobre un fondo negro... en fin, eran otros tiempos...

Pero ahora, con nuestro mundo visual con iconitos, botoncitos, mouse y toda la onda, todavía son muy útiles los menús. Solo que ahora han evolucionado mucho y son más agradables. En este mensaje quiero platicarles un poco sobre mi experiencia con menús en Visual Basic 6.0. Para ello, voy a hacer una aplicación muy sencilla, que solo muestre como funciona esto de los menús.

Voy a comenzar con un proyecto nuevo. Solo para evitar el aburrimiento, establezco la propiedad Caption a "Ejemplos de menús". Luego, para crear un menú, presiono el botón del editor de menús. Abajo viene una imagen de la barra de menús de Visual Basic 6.0.


Al presionar el botón del editor de menú, sale la siguiente ventana:


Desgraciadamente, en el Visual Basic 6 se edita el menú aparte de la ventana princioal, o sea que a diferencia de otros controles que dibujas directamente sobre la ventana (o forma), aquí lo creas en otro lado y esperas que se vea chiroliro. Para dibujar un menú directamente sobre la ventana, tendrán que usar el Visual Basic .Net o el 2005.

Pese a lo no-tan-visual de la cosa esta, funciona bastante bien y de manera muy sencilla. Ahora, por mantener la cosa sencillita, voy a hacer un pequeño menú y lo voy a ir ilustrando parte por parte.

Para empezar, el primer elemento en la barra de menú de esta aplicación va a tener un elemento llamado "Mensajes". Para hacer esto, lleno la ventana como indica la figura:


Una nota cultural: pongo el símbolo & adelante de la letra M de Mensajes para que aparezca subrayado y responda cuando el usuario presione ALT+M. Si cierro esta ventana, mi forma Form1 se ve así:


Pero que pasa si quiero poner un menú adentro de mi menú "Mensajes". Vuelvo a abrir el editor de menús, aprieto el botón Next para agregar otro elemento abajo del que ya existe. Lo dejo con estos datos:


Para indentar la opción Hola, presiono el botoncito que indenta (flecha a la derecha). Después que tengo todo hecho y cierro el editor de menú, se ve mi forma así.


Al darle click sobre la palabra "Hola", me aparece la ventana de código listo para programar lo que sucederá cuando nuestro usuario valiente se atreva a seleccionar ese botón:


Voy a teclear código super sencillo que solo haga que aparezca una cajita que diga Hola, se ve así:


¡Listo! Ahora voy a poner más opciones a nuestro menú para poder programarlo chido. El editor de menús se ve así.


Ahora programo todas mis opciones y quedaría algo así:


¡Listo! Tenemos un programa sencillo que funciona con un menú padre. ¡Nos vemos!

44 comentarios:

Anónimo dijo...

Me parece muy interesante un editor de menus ya que logran hacer un programa mas elaborado y mas profesional
Y al mismo tiempo nos permite poder tener acceso a mas cosas sin tener que utilizar tantos botones
Fap osea peinado

Anónimo dijo...

pues me parece chido porque te evitas poner tantos botones se ve mas profecional y estetico para nuestros programas asi pa que se vean chidos
GerardoVzaquez

Anónimo dijo...

etsa chida la informacion, muy completa. si te ayuda a saber como hacer menus.
sergio macias

Anónimo dijo...

etsa chida la informacion, muy completa. si te ayuda a saber como hacer menus.

sergio macias

Anónimo dijo...

me parese interesante para un mejor forma de menus de nuestra propia mano.
el buki

Anónimo dijo...

nu ps la verdad si esta muy shida la informacion aparte de que es facil de entender y muy practica

Arthur

Anónimo dijo...

esta chido ese buisness de aprender a programar el menu de una ventana, asi es que espero aprenderlo y aplicarlo.
"Andres Zuloaga."

Anónimo dijo...

pues me parecio muy bn porke asi podemos ahcer un mejor programa y mas interesenta

francisco javier gonzalez lopez

Anónimo dijo...

este articulo es muy bueno por que explica paso a paso como tenemos que hacer y con este articulo se me facilitaron las cosas




3tpo
Francisco Javier Garcia Quintero

Anónimo dijo...

se m hizoo super accesiblee ya no es necesarioo poner tantos botenes y llenar la pantallaa y podemos hacer mas utilidades a la vesz. aparteee de que esta muy completa la informacion


natalia rodriguez arzola 4TIA

Anónimo dijo...

Haces que se vea mas facil de lo que en si ya es visual, gracias or explicarlo con manzanitas para quienes no sabemos mucho de esto gracias.

Anónimo dijo...

gracias!!! :)

Anónimo dijo...

Gracias!!
Muy sencilla la explicación y la aplicación lograda hace que sea sencillo crear menús con el VB 6.0.
Gracias!!

:)

ivanimatrix dijo...

Muy buen articulo. Sencillo y preciso...Se agradece...

Anónimo dijo...

Hola... disculpa Tony ... sabes que estoy empezando a trabajar con VB 6.0 ... y aunque vi el VB .Net (con un profe super pirata) la cuestion de los menus es diferente... Resulta que intente poner en practica tu explicacion pero cuando le doy aceptar en la ventana editor de menus me muestra un mensaje que dice algo asi:"el elemento de la matriz de controles de menus debe tener un indece" y la verdad no comprendo porque me dice eso...

Esto es lo que basicamente trato de hacer: Crear un menu que tenga las opciones de Departamento con su respectivo menu (nuevo, modificar, eliminar,consultar) --- y la otra opcion de Articulo con el mismo menu (nuevo, modificar, eliminar,consultar) ... y asi es como se ve en editor de menus

Departamento
....Nuevo
....Modificar
....Eliminar
....Consultar
Articulo
....Nuevo
....Modificar
....Eliminar
....Consultar

A ver si me das una mano... y gracias!!! de antemano...
Saludos....

IutVal dijo...

Hola... disculpa Tony ... sabes que estoy empezando a trabajar con VB 6.0 ... y aunque vi el VB .Net (con un profe super pirata) la cuestion de los menus es diferente... Resulta que intente poner en practica tu explicacion pero cuando le doy aceptar en la ventana editor de menus me muestra un mensaje que dice algo asi:"el elemento de la matriz de controles de menus debe tener un indece" y la verdad no comprendo porque me dice eso...

Esto es lo que basicamente trato de hacer: Crear un menu que tenga las opciones de Departamento con su respectivo menu (nuevo, modificar, eliminar,consultar) --- y la otra opcion de Articulo con el mismo menu (nuevo, modificar, eliminar,consultar) ... y asi es como se ve en editor de menus

Departamento
....Nuevo
....Modificar
....Eliminar
....Consultar
Articulo
....Nuevo
....Modificar
....Eliminar
....Consultar

A ver si me das una mano... y gracias!!! de antemano...
Saludos....

Tony Valderrama dijo...

Ese error generalmente tiene que ver con el hecho de que estás creando un arreglo (la propiedad Index se usa para indicar el número de elemento).

A lo mejor alguno de los nombres que le pusiste la menú es el mismo que el nombre de algún control en tu ventana. Revisa la propiedad Index de todos tus controles. Debería no tener nada.

Espero que el problema sea por eso. Y te deseo suerte en tus clases. ¡Saludos!

Anónimo dijo...

bn a mi el crear menus se me hace una forma facil y sin tener problemas o dudas en ese aspecto con visual basic,ya que pues siento que es igual,la unica diferencia que creo yo es que es el acomodarlo con los botones de la seccion creando menus y ya en ese aspecto y dandoles su nombre para identificarlos,bn gracias profe aqui tiene mi opinion,nos vemoss
Paulina Elizabeth Bolaños Salcedo. 4A TIA T/M

Anónimo dijo...

aii aii aii too sii lo pusee en practyca yy ps sii sii me salio algoo bien!!!
ii eske la berdad yo apensas soi un aprendiz de visual basic.
y estoi asiendo un proyecto en ello pero de la CFE'comision federal de electricidad'
y la berdad nose si lo pueda hacer
nesesito ke me explikes porfasss

bueno ps grasias
por si o por no!!^^*=P

Tony Valderrama dijo...

Pues depende de lo que quieras hacer.

Anónimo dijo...

Hola TONY Valderrama

a veer si me podes ayudar, soy nuevo en visual basic 6.0, y tengo un problema similar al del compañero de arriba con el ejemplo de "Departamentos y Articulos" con sus respectivos subMenús.

Mi pregunta es como debo configurar un subMenú HAbilitado o desabilitado, dependiendo si es operador o administrador del sistema y que este al dar un clic en ella muestre un formulario.

Tony Valderrama dijo...

Si no me equivoco, los menús tiene la propiedad Enabled. Lo puedes establecer en falso. Como no lo puedes ve3r en el diseñador (ventnaa propiedades), se lo puedes establecer en el código.

Si no es administrador, deshabilitas la(s) opción(es) en el código del evento que te dice si es administrador o no.

Espero uqe esto haya sido útil. Si no funciona, déjame otro mensaje.

¡Saludos!

Anónimo dijo...

Una consulta, quiero agregar un nuevo menu.. pero me sale un mensaje indicando que: He alcanzado el límite y que no se pueden crear mas controles para ese formulario... dime si hay alguna forma forma de crear un nuevo menu y/o submenu a pesar que ya llegué al límite... gracias!

Tony Valderrama dijo...

La verdad, nunca me he topado con ese problema, es más, ni siquiera sabía que existía (y eso que he hecho sistemas bastante complejos)...

Perdón, pero ni idea. Siempre he puesto los controles tal cual sobre la ventana.

Si encuentras tu error o la solución, me encantaría que lo compartieras.

¡Saludos!

Anónimo dijo...

como hago que un programa en ejcision regrese al menu de v.b. 6.0

Tony Valderrama dijo...

No sé exactamente lo que quieres decir con "que un programa en ejcision regrese al menu de v.b. 6.0" ¿Te refieres a que una ventana vuelva a la ventana donde está el menú que creaste? ¿O te refieres a los menús del ambiente de desarrollo de Visual Basic 6? ¿O quieres que el menú desaparezca y luego vuelva a aparecer?

Si me explicas tu problema mejor, te intentaré ayudar.

¡Saludos!

Unknown dijo...

Muy buen aporte..gracias desde Paraguay Tony

Ricardo Barrera dijo...

Muy bueno, ademas que esta explicado de manera muy sencilla... A si o mas facil... Gracias y muchas felicidades...

Anónimo dijo...

Amigo yo tengo muchas dudas con esto de programar en vb.. espero q me puedas ayudar brenda.ib@hotmail.com

Anónimo dijo...

Me ayudaste muxisimo gracias y me parese genial eso de los menus por qe es menos rollo en eso de los botones

Anónimo dijo...

Genial,, soy una persona en crear proyectos en visual y aunque aun solo estoy empezando... me emociono mucho saber esas cocitas que dejaste en Internet me gustaría saber mas acerca de visual y en ellas como puedo llamas tablas de una base de access... si me puedes ayudar mi correo es miguelangelcoral@hotmail.com

Anónimo dijo...

necesito el menu de word hecho pero sin los comandos

Anónimo dijo...

Muchas gracias amigo me libraste de un problemilla jeje
Es muy interesante todo.

Anónimo dijo...

perdon pro necesito segun el prof...hacer qe con el menu vaya de una formulario a otro y la vdd no tengo la maz minima idea de como hacerlo

Tony Valderrama dijo...

Estimado Anónimo:

En el evento del menú, llama la función Show de la ventana que quieres abrir.

Anónimo dijo...

Malisimo, esto no es programación es COPY - PASTE

Anónimo dijo...

como puedo copiar una barra de menu y que me aparezca en otro formulario ??

ChibiMisaAmane dijo...

woow, este tema no lo vi completo ya que no pude asistir un día a clases, ahora entiendo como sirve, haces que se vea realmente tán fácil, te lo agradezco =D

Anónimo dijo...

eso xa lo ce grasias

Anónimo dijo...

ayudame a ponerle una imagen xfavor espero tu repoesta

Anónimo dijo...

excelente Brother muy completa la información...

Anónimo dijo...

hola una pregunta alguien sabe que tengo q poner en el salir para q al darle clic me salga un cuadro q diga quieres salir y abajo las opciones si _ no porfa ayudenme con eso es q tengo que hacer un deber y no se q poner para q me salga eso

Tony Valderrama dijo...

Sería algo como esto:
If (MsgBox("¿Quieres Salir?",vbYesNo)=vbYes) then
end
endif

Anónimo dijo...

no me sirvio :p

El Tony y sus ondas...

Related Posts Plugin for WordPress, Blogger...