elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema hacer Menu
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema hacer Menu  (Leído 2,331 veces)
corlo

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Problema hacer Menu
« en: 5 Febrero 2022, 13:51 pm »

Hola soy corlo

estoy haciendo un formulario menu mdi principal aqui no hay problema
cuando hago el primer menu fichero no hay problema
pero cuando hago el segundo menu  clientes los botones de nuevo, editar,eliminar,imprimir me van al formulario mdi
hay alguna manera de que los botones me vaya al menu clientes con su respectivo codigo.
si voy haciendo mas menus los botones de los respectivos menus me van ha ir al formulario principal mdi y todo el codigo tambien.
gracias


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Problema hacer Menu
« Respuesta #1 en: 5 Febrero 2022, 16:45 pm »

Tu explicación resulta confusa, queda claro que estás operando con formularios MDI y quieres gestionar los menús, pero no queda claro que es lo que esperas conseguir y sobre todo cual es el estado actual.

Una captura de los menus durante diseño y otra durante ejecución que se relacione con tus explicaciones aclararían lo suficiente para saber que reclamas...


En línea

corlo

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: Problema hacer Menu
« Respuesta #2 en: 5 Febrero 2022, 17:55 pm »

formulario mdi

hago un menu de archivo
boton guardar facturacion
boton leer facturacion
boton salir

esto lo hace bien



un menu de clientes
boton nuevo
boton editar
boton eliminar
boton imprimir

a la hora de insertar el codigo del boton nuevo_click me va al formulario mdi

hay alguna manera de que el boton de nuevo_click del menu clientes me vaya al menu clientes con su respectivo codigo.
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Problema hacer Menu
« Respuesta #3 en: 6 Febrero 2022, 13:01 pm »

Sigue siendo un mensaje muy inespecífico.

Antes de nada debes saber si una aplicación MDI es la adecuada para tu programa.
Una aplicación MDI, simplemente contempla la posibilidad de alojar múltiples instancias de uno o más ventanas denominadas 'child' dentro de la ventana principal, en vez de esparramadas por el escritorio. De ahí su nombre: Interfaz de Múltiples Documentos. En la práctica, suele ser una sola ventana, la que es child y es esa la que tiene múltiples instancias. ...pero no está limitado.

En este tipo de aplicaciones, las ventana Child, que tengas un menú, se pasan a la ventana principal, cuando dicha ventana es la activa. Eso permite ganar espacio en la ventana incrustada y para el menú es mejor porque se sitúa en una zona visible no tapada si la ventana activa no cabe enteramente en la ventana principal. A su vez un formulario MDI, no ocupa nunca una medida (externa) mayor que la que tene el escritorio, pero dentro (de su interfaz) dispone de sendos controles scroll para moverse por sus dimensones internas.

El modo de verlo bien funcionar es tener 2 o más formularios distintos cada uno con su propio menú (que sean distintos para reconocerlos adecuadamente). Eso hace que si tiene más de una instancia del mismo formulario, no se aprecie diferencia en el menú cuando saltes de un menú a otro, excepto por las opciones activas que tengas en cada menú (que solo verás cuando despliegues el menú) y por los menús principales si alguno se ha ocultado en una instancia y no en la otra...
Nota que una ventana hija es solo así si tiene activada la propiedad MDIChild a TRUE , sino, es solo otra ventana de la aplicación y si esta tiene un menú, no se integra en el menú del formulario MDI.



Respecto de tu problema, como no me sigue quedando claro cual es realmente el problema que tienes, solo puedo intentar a interpretarlo y esperar a acertar habida cuenta que sigue siendo igual de críptico que al inicio.

Tú dices que al poner código en un botón-menú 'nuevo', te va al formulario MDI... en vez de al formulario clientes...
Mi interpretación de tu problema es que posiblemente estés dando al menú el mismo nombre en ambos formularios. No es estrictamente necesario que el nombre de un menú con el mismo texto tenga que llamarse como el nombre de otro menú con el mismo texto en otra ventana.

Sin embargo, haciendo un ejemplo así, no logro reproducir el problema. Creo una aplicación con 5 formularios:
1 MDI, con 3 ventanas child, de éstas, 2 tienen menú la tercera no y el formulario MDI también tiene menú... y una 5ª ventana que no es Child del formulario MDI.

En todas ellas (las que tienen un menú) doy al menu 'copiar' el mismo nombre 'mnuEditCopy' y en cada una de las 4 ventanas con menú pongo el simple código para identificar su procedencia...Como pongo en el  código y se ve en las imágenes que adjuntaré al final.

Ventana MDI (su menú propio está activo cuando está activo un formulario Child sin menú):
Código
  1. Private Sub mnuEditCopy_Click()
  2.  MsgBox "Pulsado el menú del formulario MDI"
  3. End Sub

En la ventana sin bordes (que es child del formulario MDI):
Código
  1. Private Sub mnuEditCopy_Click()
  2.   MsgBox "Pulsado el menú del formulario sin bordes"
  3. End Sub
  4.  

En la otra ventana child con menú:
En esta incluso he creado otro menú con el nombre ligeramente cambiado y tirando de arrays para los submenús..
Código
  1. Private Sub mnuEditCopy_Click()
  2.  MsgBox "Pulsado el menú del formulario de ejemplo"
  3. End Sub
  4.  
  5. Private Sub mnuEditar_Click(Index As Integer)
  6.     MsgBox "Pulsado el menú del formulario de ejemplo"
  7. End Sub

En la ventana que NO ES CHILD del formulario MDI:
Código
  1. Private Sub mnuEditCopy_Click()
  2.   MsgBox "Pulsado el menú del formulario NO CHILD"
  3. End Sub
  4.  

La ventana sin menús, es para permitir que al estar activa, se muestra el menú del formulario MDI (pués la ventana hija no tiene menú).


En todas ellas el resultado es el esperado (salta el msgbox que identifica claramente el menú de la ventana a la que pertenece). Luego o yo no he interpretado correctamente tu problema o estás haciendo alguna otra cosa que no has descrito, o bien tienes una concepción errónea de lo que es una aplicación MDI y una ventana Child

Insisto en que unas imágenes de la captura antes y después ayudarían a identificar o al menos a entender tu problema... en su defecto podrías compartir el proyecto (no es necesario que sea el proyecto entero, basta copiar y pegar el proyecto en otra ubicación y eliminar todo excepto la operatoria que falla, o bien crear otra aplicación donde tengas un formulario MDI y esa ventana y metas el código exclusivamente necesario para reproducir el problema (lo que te fuere más sencillo y rápido) y que uno tras descargarlo, pueda entender que te está sucediendo....

Y ahora unas capturas, primero de la interfaz general y del código asociado a cada una, y detrás una a una la invocación del menú edición ---> copiar

la interfaz general y del código asociado a cada una:


















« Última modificación: 6 Febrero 2022, 13:12 pm por Serapis » En línea

corlo

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: Problema hacer Menu
« Respuesta #4 en: 6 Febrero 2022, 15:33 pm »

gracias por responder serapis

ya lo he solucionado

claro que el codigo me iba al mdi porque estaba todo en el menu principal formulario mdi

la idea es en el formulario mdi tiene que haber la opcion del menu clientes. pero sin las opciones de menu editar, nuevo, eliminar, imprimir

cuando aprietas el boton clientes este va al formulario mdi


Código
  1.  
  2. Private Sub MnuClientes_click()
  3. Load Clientes
  4. Clientes.Show
  5. End Sub
  6.  
  7.  
  8.  
  9.  



aqui vas al formulario clientes que aqui si que haces un menu de opciones



menu principal        introduccion de datos
                              Nuevo Registro
                              Editar Registro
                              Eliminar Registro
                              Imprimir


Código:

Private Sub mnuprincipal_Click()

'retorna al menu principal

Unload FormMdi
Load FormMdi
FormMdi.Show
Unload Clientes
End Sub


de esta manera al apretar los botones de nuevo registro , etc si que va el codigo en el formulario clientes


muchas gracias


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hacer un menu en un vcd...
Multimedia
circus2003 8 2,924 Último mensaje 12 Abril 2005, 21:13 pm
por Sourraund
Problema al hacer menu en avi « 1 2 »
Multimedia
Troll_Berserker_666 10 4,487 Último mensaje 14 Agosto 2007, 16:26 pm
por Troll_Berserker_666
como hacer un menu en c++ « 1 2 »
Programación C/C++
khio123456 15 178,975 Último mensaje 14 Diciembre 2013, 18:32 pm
por leosansan
Ayuda en Python! Hacer un menú dentro de otro menú con diccionarios
Python
Daor02 1 4,078 Último mensaje 3 Julio 2016, 05:28 am
por tincopasan
[AYUDA] Hacer un menú en GUI
Programación C/C++
code_breaker43 1 2,081 Último mensaje 29 Noviembre 2017, 17:35 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines