Foros del Web » Programación para mayores de 30 ;) » Programación General »

Necesito crear un menu ventana en VB6

Estas en el tema de Necesito crear un menu ventana en VB6 en el foro de Programación General en Foros del Web. Saludos a todops, miren necesito crear una especie de Menu ventana, eso que tiene el word, por ejemplo cuando uno abre un documento, este documento ...
  #1 (permalink)  
Antiguo 11/12/2002, 14:10
 
Fecha de Ingreso: noviembre-2002
Mensajes: 56
Antigüedad: 21 años, 5 meses
Puntos: 0
Necesito crear un menu ventana en VB6

Saludos a todops, miren necesito crear una especie de Menu ventana, eso que tiene el word, por ejemplo cuando uno abre un documento, este documento se aloja en una ventana, y si abro otra se va agregando a ella, desde esta ventana yo puedo alternar entre un documento y otro, cuando cierro un documento tambien debe desaparecer del menu venta, si alguien tiene este codigo por favor le agradecería mucho.
Gracias de antemano
  #2 (permalink)  
Antiguo 11/12/2002, 15:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Bueno, vayamos por partes....

Qué conocimientos tienes de VB?¿?
Sabes lo que son los formularios MDI? y sabes usar el editor de menús?

Bien, vamos a suponer que tienes estos conociemientos, si no sabes algo, preguntas luego.

Para empezar y para que todo quede más ordenado (aunque no es necesario) te recomendaría crear un Módulo.
En éste módulo pondrías lo siguiente:


Public numdoc As Integer

Sub main()
numdoc = 0
FrmPadre.Show
End Sub

Qué significa esto? Bien, para empezar declaramos una variable que va a ser pública y, por lo tanto, se va a poder utilizar en todos los formularios del programa.

La función "Sub main()" es la que se va a encargar de arrancar el programa (para ello vé a "proyecto" -> "propiedades del proyecto" y en el cuadro objeto inicial selecciona "sub main")

numdoc, la variable que hemos declarado pública, va a llevar la cuenta de todas las ventanas que vamos abriendo y, lógicamente, en un principio debe estar a cero.

Y por último le decimos que muestre el FrmPadre. Éste no es más que un formulario MDI que va a contener el resto de formularios "hijos".

Hasta quí todo bien? Seguimos.

Vamos pues con el FrmPadre, para crearlo agrega un nuevo formulario MDI al proyecto.

Mediante el editor de menús agrega todos los menús y submenus que quieres que tenga (no agreges ventana).

Bueno, voy a suponer que tienes una opción "nuevo" en tu menú que lo que hace es crear un nuevo formulario "hijo" dentro del "padre".

En éste caso el código del menú nuevo sería:

Private Sub mnuNuevo_Click()
Dim frmNuevo As New frmHijo
Load frmNuevo
numdoc = numdoc + 1
frmNuevo.Caption = "Documento " & numdoc
End Sub

Bueno, explicación de esto:
en la primera línea se crea un nuevo formulario del tipo frmHijo (luego veremos como es). Después se carga ese nuevo formulario, se incrementa el contador de documentos. Y por último como caprion (titulo) de la nueva ventana se escribe "documento" y el número de documento que sea.

Bien, espero que me esté explocando más o menos bien...
Lo siguiente que tenemos que hacer es crear el formulario "hijo".

Para ello agregamos un formulario normal y en su propiedad "MDIChild" ponemos "true". una vez hecho esto pasamos al editor de menús, donde volveremos a poner todos los menús que queramos (los de antes si quieres conservarlos también los tendrás que añadir) y, por supuesto, el menú ventana, en éste menú no te olvides de marcar la casilas "windows list"

Y no tiene nada más, en el código pones también el código del menú nuevo, y de los que necesites (si no quieres duplicar código los puedes tener en el módulo como públicos y desde los formualrios hacer llamadas ahí) y añadir lo que quieras....

Bueno, si no sabes nada de VB seguramente habrás entendido poco, y si sabes algo, pues no sé si me habré explicado bien, pero si tienes alguna duda, sólo preguntala aquí.

Un saludo!!
  #3 (permalink)  
Antiguo 11/12/2002, 16:01
 
Fecha de Ingreso: noviembre-2002
Mensajes: 56
Antigüedad: 21 años, 5 meses
Puntos: 0
Keyser, muy interesante tu explicación ahora lo pongo en práctica, te cuentop que yo tengo todo un programa completo y uso los MDI Child en todo solo que quiero agregar esto para darle un mejor aspecto. Si deseas te puedo enviar para que le des una ojeada, enviame tu mail ok.
Macaspi2002
  #4 (permalink)  
Antiguo 11/12/2002, 16:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Bueno, si sólo es agregar ese menú, con crearlo y ponerle el "windows list" basta.

Otra cosa que puedes hacer son las opciones de: mosaico, cascada....etc. son muy facilillas de implementar.

mi mail es [email protected]

Espero que salga bien el programa!
  #5 (permalink)  
Antiguo 11/12/2002, 16:21
 
Fecha de Ingreso: noviembre-2002
Mensajes: 56
Antigüedad: 21 años, 5 meses
Puntos: 0
Osea el menu, es fácil de hacer, lo que no se es hacer el efecto que deseeo, osea que cuando abro uno de los form se agregue a la ventana y cuando cierre ese tambien desaparezca de la ventana eso es todo.
Macaspi
  #6 (permalink)  
Antiguo 11/12/2002, 16:51
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Umm, si marcas la casilla "windows list" en el menú ventana (dentro del editor de menús, y los formularios que abres son "hijos" del MDI, debería funcionar bien, creo que sólo es necesario eso
  #7 (permalink)  
Antiguo 12/12/2002, 14:04
 
Fecha de Ingreso: noviembre-2002
Mensajes: 56
Antigüedad: 21 años, 5 meses
Puntos: 0
Amigo KEYSHER muchisimas gracias por esa solución es exactamente lo que necesitaba, no pense que era tan simple, jejeje hasta parece bien tonta la solución por lo simple que era. Por otra parte quisiera saber si es que tu sabes programar el Control Winsock del VB6, para darte alguna idea este es un control que permite manejar el protocolo TCP/IP y enviar datos a través de la red, en mi caso la aplicación que estoy desarrollando permitirá comunicarse un programa Servidor con un programa Cliente, esto para supervisar remotamente un proceso industrial, tienes algun conocimiento sobre este tipo de control WINSOCK, si es asi te rogaría me lo hagas saber.
MACASPI
  #8 (permalink)  
Antiguo 12/12/2002, 16:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Bueno, hace tiempo hice una pequeña aplicación para concectar dos ordenadores tipo messenger.

Constaba de un programa cliente donde metias la IP del servidor, y del propio servidor.

No era muy complejo, sólo se mandaba texto.


El winshock en sí no es demasiado dificil de manejar, pero tienes que estar atento a los errores que se pueden producir (fallo en la IP, al conectar, desconesión, etc)

Qué es lo que quieres hacer exactamente?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:38.