¿Cómo puedo abrir una ventana determinada desde la opción del menu?

Hola amigo como estas
Tengo una ventana1 con un menu
El menu tiene 2 opciones
abrir1 y abrir2
Ambas opciones abren la misma ventana2
Esta ventana2 tiene un botón aceptar
La cual abre otra ventana3.
Eta ultima ventana3 tiene 2 botones
Borrar y modificar
Entonces desde el menu necesito
Que al apretar abrir1 me abra la ventana2
al apretar aceptar me abra la ventana3 pero con el botón modificar no visible
y si aprieto abrir 2 q me abra la ventana2 en esa ventana aprieto aceptar y me abre la ventana3 pero con el botón borrar no visible
Un poquito enredado pero se que me entenderás ok.
Gracias

1 respuesta

Respuesta
1
Vamos a ver,
La solución a tu problema la podemos tener con el paso de parámetros al abrir la ventana.
Cuando desde el menu (abrir1 o abrir2) abras la ventana 2,
deberás utilizar la siguiente sintaxis:
OpenWithParm(ventana, parametro)
Donde 'ventana' es la ventana que vas a abrir y parámetro es una variable que le pasas tu (aquí puedes pasar un number, string, o powerobject)
Para tu caso con un string o un number tendrías resuelto el tema.
Por ejemplo,
Cuando llames desde abrir1:
********
OpenWithParm(ventana2,1)
*********
cuando llames desde abrir2:
*********
OpenWithParm(ventana2,1)
*********
¿Ok?
A continuación debes recoger esta variable en la ventana que has abierto. Para ello utilizas un objeto que tiene power builder y que es global, llamado "message".
Este objeto entre otras propiedades tiene:
- StringParm
- DoubleParm
- PowerObjcetParm
Entonces tu pondrías algo así:
ld_variable = Message.DoubleParm
Para que la variable coja valor 0 ó 1.
Y entonces cuando pulse el botón aceptar de ventana2,
debes realizar el mismo procedimiento de abrir la ventana con "OpenWithParm",
y en el evento open de ventana3, controlar el "enabled" de los botones "Borrar" y "Modificar".
Fácil, ¿no?
Ánimo.
Parece que la pregunta es un poco enredada
Esa no era la solución
pero ya lo solucione = te voy a evaluar bien
Por la rapidez en la contestación
Gracias ok.
Ok, si quieres la próxima vez
Me explicas de que iba tu pregunta, porque he debido entenderlo mal...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas