MDI C-Win32
Hola :
Mi nombre es rodrigo y estoy programando una aplicación MDI en C Win32. La cosa es que todo funciona bien hasta introducir una barra de estado a la Ventana de marco (frame Window), ya que comienzan a ocurrir cosas extrañas: Al maximizar, minimizar o en general al cambiar de tamaño la ventana de marco, se cierran las ventanas Child abiertas. Por otro lado al mover una ventana Child sobre la barra de herramientas, ésta no se redibuja.
He estado pensando y creo que como tanto la ventana MDI (que ocupa toda el área cliente de la ventana de marco) como la barra de herramientas son ambas hijas de la ventana de marco, se produce un conflicto entre ventanas hermanas. Creo que la solución es hacer que el área cliente de la ventana MDI no ocupe el sector que corresponde a la barra de herramientas. Es decir configurar el área cliente de la ventana de MDI para que su alto sea igual al alto de la ventana de marco menos el alto de la barra de herramientas y además gestionar los mensajes WM_SIZE para que esta relación se mantenga.
Mi pregunta es: ¿Conoces alguna función de la API con la que se pueda configurar el área cliente de una ventana?
Desde ya muy agradecido;
Rodrigo.
Mi nombre es rodrigo y estoy programando una aplicación MDI en C Win32. La cosa es que todo funciona bien hasta introducir una barra de estado a la Ventana de marco (frame Window), ya que comienzan a ocurrir cosas extrañas: Al maximizar, minimizar o en general al cambiar de tamaño la ventana de marco, se cierran las ventanas Child abiertas. Por otro lado al mover una ventana Child sobre la barra de herramientas, ésta no se redibuja.
He estado pensando y creo que como tanto la ventana MDI (que ocupa toda el área cliente de la ventana de marco) como la barra de herramientas son ambas hijas de la ventana de marco, se produce un conflicto entre ventanas hermanas. Creo que la solución es hacer que el área cliente de la ventana MDI no ocupe el sector que corresponde a la barra de herramientas. Es decir configurar el área cliente de la ventana de MDI para que su alto sea igual al alto de la ventana de marco menos el alto de la barra de herramientas y además gestionar los mensajes WM_SIZE para que esta relación se mantenga.
Mi pregunta es: ¿Conoces alguna función de la API con la que se pueda configurar el área cliente de una ventana?
Desde ya muy agradecido;
Rodrigo.
Respuesta de vider
1
2 respuestas más de otros expertos
Respuesta de arpogi
1
Respuesta de fractal