Programación General > Visual C++
Dialogo De Configuración En Una Aplicación
drd:
Hola, hace tiempo que no escribía por aquí, aunque me me habéis sido de bastante ayuda, estoy programando una aplicación Dialog-based en visual C++ con el visual studio 2005 y usando MFCs.
Bien, vamos al grano, estoy intentando hacer que al pulsar un botón del diálogo principal salga otro diálogo que usaré para configurar las propiedades de una cámara a la que accedo.
El problema es que no puedo pasar los cambios que hago en configuración a los objetos del diálogo principal. He visto navegando y en tutoriales que se puede hacer una especie de copia de las variables en el diálogo principal y actualizarlas cuando cierre el diálogo de configuración (que será modal en un principio).
Sin embargo yo me preguntaba si puedo sacar un puntero a las cosas de la clase padre y pasárselo al diálogo configuración para así actualizarlo directamente sin necesidad de hacer otras variables en la clase principal de diálogo, ya que muchas de ellas tendrán que usarse en funciones para enviar a la cámara sus parámetros.
No si me explico bien y si me podréis ayudar, pero muchas gracias de antemano.
SteelX:
DRD lo que intentas hacer es copiar datos de un dialogo a otro. Cuando uno crea una clase derivada de CDialog no implica que no tenga un comportamiento de una clase normal. Es decir dentro de ellas podrías hacer una función para llenar datos, algo como
--- Código: Text --- class myDialogo1: public CDialog{ myDialogo1():CDialog(......){}~myDialogo1() {} public: void llenar_datos(Tipo var1, Tipo var2){ m_var1 = var1; m_var2 = var2;} private: Tipo m_var1;Tipo m_var2; };// //dentro de tu otro dialogo maindialog::funciondeMainDialogo(){ m_myDialogo1.llenar_datos(dato1,dato2); }
pues tambien puedes retornar valores del dialogo principal de variables miembros
y pasarselas alnuevo dialogo
drd:
Muchas gracias por responder tan rápido, SteelX
Yo pensaba en usar un puntero al diálogo y objetos que llama ese mismo diálogo (son varias cosas, para ver imágenes, para controlar algún proceso de visión artificial, pero sobre todo un objeto para comunicarse con la cámara y controlarla, que declaramos en ese diálogo. Querría hacer algo así como:
DialogoPrincipal->ObjetoControlador.funciónCambiada();
¿es posible? Porque llamando directamente a ese objeto no me funciona, aunque le tenga de acceso público.
Con lo fácil que era poner todo en la misma ventana, aunque quede más feo.
Gracias por tu ayuda.
SteelX:
ObjetoControlador es una variable miembro de DialogoPrincipal??.
si es así no veo cómo no funcionaría siempre y cuando no esté declarada publica o el objeto tiene algún tipo de inicialización.
drd:
Sí, es una variable miembro del diálogo, siendo otro objeto, pero no entiendo bien tú frase. Quieres decir que si es pública eso no funcionará o si el objeto al que quiero acceder (y que es miembro del diálogo principal) tiene inicialización tampoco funciona.
De todas maneras ayer estuve probando eso y no me funcionaba así que probaré de otra manera, usando algún método o algo.
Navegación
[#] Página Siguiente
Ir a la versión completa