Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Limitar El Tamaño Minimo De Una Ventana Marco Resi

Iniciado por Antares, 18 de Septiembre de 2003, 04:22:31 AM

« anterior - próximo »

Antares

 Limitar el tamaño minimo de una ventana marco resizable.

Tengo un programa con una ventana marco resizable. ¿Como puedo limitar el encogimiento de la ventana cuando esta alcanza el tamaño minimo deseado?

Antares.

DraKKaR

 Se me ocurre una manera, utilizando la API de Windows, aunque es perfectamente aplicable a cualquier API de programación de ventanas.

Utiliza el evento WM_SIZE. Con él detectas cuando se está redimensionando la ventana, y que dimensiones tiene. Compruebas estas dimensiones, y si es menor que el área mínima que deseas, entonces redimensionas la ventana para hacerla tan grande como ese área.

Sencillísimo, ¿no?

fiero

 Prueba el mensaje WM_GETMINMAXINFO. Si estás con las MFC, te creará una función así:

void CVentana::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)

donde podrás establecer unos valores mínimos para la ventana:

lpMMI->ptMinTrackSize.x =320;
lpMMI->ptMinTrackSize.y =180;

un saludo

edito: mensaje con J, me lio siempre con el inglés
www.videopanoramas.com Videopanoramas 3D player

BeRSeRKeR

 Como dice fiero, ese mensaje te servirá. Según la MSDN y si utilizas Win32 a pelo, el parámetro lParam del mensaje (wParam no se utiliza), debe apuntar a una estructura del tipo:

typedef struct {
   POINT ptReserved;
   POINT ptMaxSize;
   POINT ptMaxPosition;
   POINT ptMinTrackSize;
   POINT ptMaxTrackSize;
} MINMAXINFO;


donde podrás especificar el tamaño mínimo de tu ventana (además de otros valores).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Antares

 Con el mensaje WM_SIZE lo uso para redimensionar los controles a la ventana y lo intente hacer desde ahi pero por lo visto cuando sueltas el boton del raton se vuelve a dibujar la ventana haciendo inuteles mis if's :P

¡Berseker! Eres el mismo Breseker que me vapuleaba hace unos años en el Starcraft? :D  Yo entraba como OrionMaps aunque igual no te acuerdas mi ;)

gracias a todos, voy a probar.

he estado tiempo que tenia el otro formato anterior del foro y parecia que no entraba nadie veia mis mensajes sin contestacion y nadie preguntaba nada si contestaba, solo yo :P  Me alegro mucho de volver a encontraros, mientras tanto he estado en otros foros, muy buena gente, pero es que aki hay respuestas rapidas y de calidad :_)_______

Antares

BeRSeRKeR

 Antares me temo que no soy yo...si me dijeras que soy el que te vapuleaba al quake3 vale, pero al starcraft... :)

Saludos
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Antares

 Me funciono con el WM_GETMINMAXINFO. Se me olvido daros las gracias a todos. sorry

Antares






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.