Page 1 of 1

No permitir que se cambie el tamaño de la ventana principal

PostPosted: Fri Jan 19, 2018 10:00 pm
by nanoespinoza
Estimados

Una pregunta sencilla, pero se me ha hecho complicada; ¿como hago para que la ventana principal de la aplicación no pueda ser cambiada de tamaño?

Ya evito que se la maximize con el comando NOZOOM al definir la WINDOW; pero no puedo evitar que al tener la sección de mensajes activa por el uso de SET MESSAGE me le cambien el tamaño con el ratón y deseo mantener el tamaño definido inicialmente.

Saludos

Fernando Espinoza A.

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Fri Jan 19, 2018 10:27 pm
by acuellar
Fernando
Intenta asi:

Code: Select all  Expand view

DEFINE WINDOW oWnd FROM 0,0 TO 491,700 PIXEL TITLE "Sistema: FACTURAS" STYLE nOr(WS_SYSMENU,WS_MAXIMIZE,WS_MINIMIZEBOX)
 

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Sat Jan 20, 2018 1:14 am
by nanoespinoza
Estimado ACuellar

Gracias por la respuesta, no logro el efecto deseado; porque?.

R: Es que al ubicar la barra de mensajes en la parte inferior de la aplicación con el comando SET MESSAGE (quiero que se vea porque me es útil en la aplicación), este incorpora en el extremo inferior derecho esas rayitas diagonales que permiten cambiar el tamaño de la ventana con el ratón.

Saludos

Fernando Espinoza A.

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Sat Jan 20, 2018 8:06 am
by Antonio Linares
Fernando,

Revisa FWH/samples/testsize.prg

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Sat Jan 20, 2018 9:31 am
by Xevi
He cambiado de tamaño la ventana del TestSize...

Code: Select all  Expand view

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

   local oWnd

   DEFINE WINDOW oWnd;// FROM 3, 6 TO 120, 70 ;
      TITLE "Welcome to FiveWin" ;
      COLOR "W+/B"

   @ 2, 2 SAY "Resize me" OF oWnd SIZE 100, 20

   oWnd:aMinMaxInfo = { 200, 200,;  // xMaxSize,      yMaxSize
                         50,  50,;  // xMaxPosition,  yMaxPosition
                        400, 400,;  // xMinTrackSize, yMinTrackSize
                        150, 150 }  // xMaxTrackSize, yMaxTrackSize

   ACTIVATE WINDOW oWnd MAXIMIZED

return nil
 


Y, puestos... se puede "NO mover" una ventana de posición, además de no redimensionar???

Ya que de esta manera, como está el TestSize, si se cambia de posición la ventana, los cursores se vuelven al estado de "resizear" la ventana, aunque no surjan efecto, pero crean confusión.
Ah... y si se clica en el borde izquierdo una vez cambiada de posición la ventana y el cursor encima del borde, la ventana "salta" a la derecha... :?

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Sun Jan 21, 2018 7:18 am
by Antonio Linares
Xevi,

DEFINE WINDOW oWnd STYLE WS_POPUP

revisa fwh/samples/testmov2.prg

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Sun Jan 21, 2018 7:59 am
by Xevi
Ya, pero eso "quita" los bordes y barra de título.
No se puede cerrar la ventana, si no es con Alt+F4
No es el efecto deseado.

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Tue Jan 23, 2018 7:05 am
by Antonio Linares
Puedes facilmente añadirle un botón para cerrarla usando un control TBtnBmp ó TButton

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Fri Jan 26, 2018 3:42 pm
by Xevi
Dándole vueltas...
prefiero que tenga los bordes, barra de título y boton de cerrar...
Y me permite mover la ventana.

PERO...
Este tema que he comentado en el post de arriba???
...
Ah... y si se clica en el borde izquierdo una vez cambiada de posición la ventana y el cursor encima del borde, la ventana "salta" a la derecha... :?
lo mismo clicando en el borde de arriba, como si quisíeramos hacer más alta/baja la ventana
con este código:

Code: Select all  Expand view

function Main()

   local oWnd

   DEFINE WINDOW oWnd;// FROM 3, 6 TO 120, 70 ;
      TITLE "Welcome to FiveWin" ;
      COLOR "W+/B"

   @ 2, 2 SAY "Resize me" OF oWnd SIZE 100, 20

   oWnd:aMinMaxInfo = { 200, 200,;  // xMaxSize,      yMaxSize
                         50,  50,;  // xMaxPosition,  yMaxPosition
                        400, 400,;  // xMinTrackSize, yMinTrackSize
                        150, 150 }  // xMaxTrackSize, yMaxTrackSize

   ACTIVATE WINDOW oWnd MAXIMIZED

return nil
 


Alguna solución???

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Fri Jan 26, 2018 4:11 pm
by Xevi
Me autorespondo...

mucho más sencillo, cuando se sabe, claro!!!

STYLE nOr(WS_SYSMENU)

Code: Select all  Expand view

function Main()

   local oWnd

   DEFINE WINDOW oWnd;// FROM 3, 6 TO 120, 70 ;
      TITLE "Welcome to FiveWin" ;
      COLOR "W+/B";
      STYLE nOr(WS_SYSMENU)

   @ 2, 2 SAY "Resize me" OF oWnd SIZE 100, 20

   ACTIVATE WINDOW oWnd// MAXIMIZED

return nil
 

Re: No permitir que se cambie el tamaño de la ventana principal

PostPosted: Fri Jan 26, 2018 4:58 pm
by Antonio Linares
Xevi,

Muy bien

Puedes simplificar asi:

... STYLE WS_SYSMENU