Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 30-nov-2005, 08:31   #1 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Formularios MDI

Estoy haciendo una aplicacion con formularios MDI que tiene un formulario principal y cuatro hijos (uno de ellos "principal"). Cargo el hijo principal y al referirme desde ese hijo a los otros no hay problema pero al intentar referirme desde un hijo no principal al hijo principal no me deja. Porque sucede esto? Hay alguna manera de poder solucionarlo?
Espero no haberlo liado y que se me entienda...
Gracias por adelantado. Sois fabulosos
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 09:00   #2 (permalink)
jc_moty ha deshabilitado el karma
 
Avatar de jc_moty
 
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 463
Enviar un mensaje por MSN a jc_moty Enviar un mensaje por Yahoo  a jc_moty
Bien, lo que tenes que hacer es que cada vez que llames un formulario descarga todos los demas de la memoria. Por Ejemplo, para llamar al hijo principal seria asi:
Código:
Form_hijoPrincipal.Show
Unload Form_hijo1
Unload Form_hijo2
Unload Form_hijo3
Espero te sirva
Saludos
jc_moty está desconectado   Responder Citando
Antiguo 30-nov-2005, 09:32   #3 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Me voy a explicar mejor porque creo que no se me entiende.
Tengo un formulario principal (formulario padre) en el que cargo un formulario hijo (Form5). En este formulario hijo hay unos botones coloreados. Si yo saco otro formulario (Form3) en el que hay un list y yo pincho en un elemento del list, se deberian encender los botones que le corresponden en el Form5 (cosa que no pasa); lo hago asi:
Form5.Command56.Picture = LoadPicture("rojo.bmp")
Haber si ahora se me comprende mejor, o me he explicado mejor
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:00   #4 (permalink)
reel está en el buen camino
 
Avatar de reel
 
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 481
Lo siento pero sigues sin explicarte...

Entedemos cual es la situación, pero cual es el error en sí? ¿Qu es lo que no has logrado hacer especificamente? ¿Recibes algun error?

Saludes

PD: Me has hecho sentir con un dectetive preguntando.
__________________
Leer es Saber, REEL.
reel está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:10   #5 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
que no se iluminan los botones al pinchar en el list...
PD: Tu un detective pero yo paranoico perdido al no enterderme o no saberme explicar...
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:14   #6 (permalink)
reel está en el buen camino
 
Avatar de reel
 
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 481
No me dices si recibes algún error ... bueno me voy a atrever hacer un tiro al aire porque no se realmente a donde apuntar.

Pon esto:
DoEvents

Despues de esta línea de código:
Form5.Command56.Picture = LoadPicture("rojo.bmp")

Saludes
__________________
Leer es Saber, REEL.
reel está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:14   #7 (permalink)
lop7 ha deshabilitado el karma
 
Avatar de lop7
 
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 185
hola...

ya probaste asi;

Form5.Command56.Picture = LoadPicture("rojo.bmp")
Form5.Command56.Refresh

unload me

para que despues q asignes cierres el formulario y puedas ver los cambios en los botones del from5

saludos..
nos vmos...
__________________
A quien dices un secreto le entregas tu libertad :si:
lop7 está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:32   #8 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
El caso es que no recibo ningun error. Simplemente pinchas en un item del list y no se colorea el boton que le corresponde....
He probado como ha dicho lop7 y no me funciona...
Saludos
Gracias
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:38   #9 (permalink)
reel está en el buen camino
 
Avatar de reel
 
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 481
Tenes configurado el boton con el estilo necesario?

La propiedad style del botón tiene que estar para gráfico.

Saludes
__________________
Leer es Saber, REEL.
reel está desconectado   Responder Citando
Antiguo 30-nov-2005, 10:48   #10 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Eso ya lo tengo bien configurado.
Es deseperante, ya lo se. Ya me he dado yo de cabezazos para saber que es lo que esta fallando. Pensaba que igual podria ser por alguna propiedad especial que puedan tener los MDI (es la primera aplicacion de este tipo que programo) pero la verdad que no tengo ni idea...
Saludos
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 11:21   #11 (permalink)
lop7 ha deshabilitado el karma
 
Avatar de lop7
 
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 185
pana porq no pruebas lo mismo con otro boton
pero asignale algo al caption ej:

Form5.Command60.caption= "si resive valores"
Form5.Command60.Refresh

es solo de prueba para saber si resive o no valores ok. q deberia resivir

intentalo si tomo el valor entonces se te esta escapando y no es precisamente q estes trabajando con un MDI.

saludos..
nos vmos...
__________________
A quien dices un secreto le entregas tu libertad :si:
lop7 está desconectado   Responder Citando
Antiguo 30-nov-2005, 11:29   #12 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
No recibe valores. Que puedo hacer ahora?
Saludos
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 11:52   #13 (permalink)
lop7 ha deshabilitado el karma
 
Avatar de lop7
 
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 185
mira pana lo esta asiendo bien ya lo prove y esta todo bien, tal ves te pasa que como estas poniendo una imagen en el picture del botn te falto la ruta completa me esplico

tu lo tienes asi..
Form5.Command56.Picture = LoadPicture("rojo.bmp")
y seria así...
Form5.Command56.Picture = LoadPicture("c:\imagen\rojo.bmp")
o
Form5.Command56.Picture = LoadPicture(app.path & "\rojo.bmp")

verificalo asi a ver si te silve

Saludos...
nos vmos..
__________________
A quien dices un secreto le entregas tu libertad :si:
lop7 está desconectado   Responder Citando
Antiguo 30-nov-2005, 12:15   #14 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
He hecho un nuevo proyecto y he comprobado todo lo que me has dicho lop7 y ahi funciona todo pero en el programa original no funciona ni con lo ultimo que me has dicho... Le pinchas en el list y sigue sin hacer nada. Incluso haciendo un nuevo formulario y poniendo un boton para que aparezca en el label del formulario hijo principal algo no va... La verdad que no veo diferencias entre lo que he hecho y lo que tenia...
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 12:40   #15 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Si ayuda aporto este dato:
Cuando desde el formulario hijo principal se pincha en los botones sale el formulario hijo correspondiente y no hay problema. Pero cuando se intenta hacer al reves, que interactuando con un formulario hijo haya cambios en el formulario hijo principal entonces no funciona, no dando mayor sintoma que ver uno mismo que no funciona.
Espero haber aclarado algo el tema
Saludos y gracias por adelantado
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 22:25   #16 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Ya se lo que pasa; me carga dos veces el formulario hijo principal. Hay alguna manera de evitarlo? Lo cargo con:
Private Sub MDIForm_Load()
Dim newform As New Form5
newform.Show
End Sub
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 23:16   #17 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
He detectado dos sitios en que puede haber problemas.
El primero es en el formulario hijo principal que hago que se ajuste arriba a la derecha y entonces me lo carga 2 veces; lo hago con Form5.Move 0,0
El segundo punto es en los formularios hijos que al pinchar en el list yo creo que me vuelven a cargar el formulario hijo principal; el codigo seria:

Private Sub List1_Click()
If List1.List(List1.ListIndex) = "Cistitis" Then
Form5.Command56.Picture = LoadPicture("rojo.bmp")
End If
End Sub
He leido algo sobre las propiedades ActiveForm y ActiveControls.Se podria solucionar con estas propiedades ?¿Como seria?
jiusad está desconectado   Responder Citando
Antiguo 30-nov-2005, 23:35   #18 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Ya se lo que pasaba. En vez de poner

Private Sub MDIForm_Load()
Dim newform As New Form5
newform.Show

hay que poner

Private Sub MDIForm_Load()
Dim newform As New Form5
Form5.Show

Por fin di con la solucion
Menos mal ya pensaba que no lo iba a descubrir nunca.
Gracias de todas formas.
jiusad está desconectado   Responder Citando
Antiguo 01-dic-2005, 04:46   #19 (permalink)
Colaborador
David el Grande llegará a ser famoso muy prontoDavid el Grande llegará a ser famoso muy pronto
 
Avatar de David el Grande
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 3.395
Exclamación

Cita:
Iniciado por jiusad
Ya se lo que pasaba. En vez de poner

Private Sub MDIForm_Load()
Dim newform As New Form5
newform.Show

hay que poner

Private Sub MDIForm_Load()
Dim newform As New Form5
Form5.Show

Por fin di con la solucion
Menos mal ya pensaba que no lo iba a descubrir nunca.
Gracias de todas formas.
Pues entonces no es necesario el:
Código:
 Dim newform As New Form5
__________________
"En la vida muchas veces tenemos que ser aprendices, y muchas veces maestros"
P.S.: Pregunta siempre en el foro correcto.
David el Grande está desconectado   Responder Citando
Antiguo 01-dic-2005, 04:57   #20 (permalink)
jiusad ha deshabilitado el karma
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Pues es verdad; no hace falta...
De todas maneras no se porque me habia obsesionado con que habia que poner todo ese mondongo... Me imagine que iban a ser tan diferentes los MDI que agarre eso de la ayuda del VB y al final es como en un SDI. Bueno, asi ya lo se para la proxima
Muchas gracias por vuestra ayuda.
jiusad está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:19.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93