Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Impedir que se maximice un formulario (https://www.clubdelphi.com/foros/showthread.php?t=23494)

Elenita 19-07-2005 12:58:39

Impedir que se maximice un formulario
 
Hola a todos:
Mi pregunta es la siguiente, tengo una aplicación con un sólo formulario que se maximiza al mostrarse. Mi problema es que al hacer doble click sobre la barra de título de la ventana, el formulario toma un tamaño menor, justo el tamaño que tiene cuando lo estoy diseñando. He probado con los tres tipos de BorderStyle que no permiten redimensionar el formulario en ejecución (bsDialog, bsNone ybsSingle), pero el comportamiento no varía: al hacer doble click se hace más pequeño, pero al volver a hacer doble click no se maximiza de nuevo.
¿Alguien me puede ayudar? ¿Es otra propiedad que no sea BordrStyle?
Gracias de antemano a todos.
:(:confused::(

dec 19-07-2005 13:07:48

Hola,

Prueba con los valores que puedes cambiar dentro de la propiedad "BorderIcons" a ver si puede apañarte dar el valor "false" a "biMaximize".

Actualización: Parece que no funciona tampoco haciendo algo como lo que dije arriba. El formulario se deja "achicar" de todos modos...

Elenita 19-07-2005 13:14:46

Gracias, pero lo que me propones tampoco funciona, si el BorderIcon biMaximice está a false el resultado es el mismo, me deja hacer más pequeño, pero luego no se maximiza. Lo que me gustaría es impedir que el doble click permita el cambio de tamaño.
Gracias por la rápida respuesta.

dec 19-07-2005 13:23:05

Hola,

A mí me extraña que no te funcione si usas en "BorderStyle" "bsNone", puesto que, el formulario aparece "maximizado", gracias a la propiedad "WindowState" ("wsMaximized") pero sin barra de título... luego no es posible hacer doble-clic sobre la misma...

Claro que la solución puede ser un tanto radical, puesto que haciendo lo dicho harás que tu formulario ocupe toda la pantalla, incluso que se sobreponga a la barra de tareas de Windows y tal vez no es esto lo que precisas.

Estáte segura de que alguien, si existe la solución, la proporcionará para regocijo de todos los posibles interesados en ella.

dec 19-07-2005 13:27:28

Hola,

A ver qué te parece: utiliza los valores "bsSingle" o "bsDialog" o "bsSizeable" para la propiedad "BorderStyle" tal como mejor te parezca, pero, cuidando de que la propiedad "Align" sea "alClient". Creo que con "bsDialog" no queda mal del todo y consigues al cabo lo que precisabas. ¿Qué tal?

Actualización:
Creo que leí demasiado a la ligera tu pregunta, porque, ¿qué es lo que quieres realmente? ¿Que el formulario se mantenga maximizado, tal como lo muestras al principio? ¿Que el formulario se pueda maximizar de nuevo una vez se hubiera "achicado"?

Si lo que quieres es lo primero, debería bastar con la configuración "por defecto", esto es, no necesitarías tocar propiedad alguna: el formulario aparece maximizado; si se hace doble-clic en la barra de título este se "achica" y si se vuelve a hacer doble-clic en la barra de título este se vuelve a maximizar.

Si lo que quieres es lo segundo, esto es, que se mantenga "maximizado", entonces inténtalo tal como te comento en este mensaje: trata de dar a la propiedad "BorderStyle" el valor que mejor te convenga y haz que el valor de la propiedad "Align" sea "alClient".

Elenita 19-07-2005 14:23:11

Cita:

Empezado por dec
Hola,

A ver qué te parece: utiliza los valores "bsSingle" o "bsDialog" o "bsSizeable" para la propiedad "BorderStyle" tal como mejor te parezca, pero, cuidando de que la propiedad "Align" sea "alClient". Creo que con "bsDialog" no queda mal del todo y consigues al cabo lo que precisabas. ¿Qué tal?

Esto puede ser la mejor solución, tengo que hacer algunos retoques porque al "achicar" la primera vez el formulario los componentes del mismo (varios paneles y un OleContainer) toman un aspecto extraño. Pero supongo que esto podría solucionarlo haciendo que todos tengan "Align" a "alClient".
Cita:

Empezado por dec
Actualización: Creo que leí demasiado a la ligera tu pregunta, porque, ¿qué es lo que quieres realmente? ¿Que el formulario se mantenga maximizado, tal como lo muestras al principio? ¿Que el formulario se pueda maximizar de nuevo una vez se hubiera "achicado"?

Lo que quiero realmente es que el doble click en la barra de título no haga absolutamente nada.
Por otro lado, poner el BorderStyle a "bsNone" en principio no me vale, aunque así consiga mi objetivo.
Muchas gracias por el tiempo invertido.
:) ;) :)

dec 19-07-2005 14:49:04

Hola,

Cita:

Empezado por Elenita
tengo que hacer algunos retoques porque al "achicar" la primera vez el formulario los componentes del mismo (varios paneles y un OleContainer) toman un aspecto extraño. Pero supongo que esto podría solucionarlo haciendo que todos tengan "Align" a "alClient".

No creo que lo que dices te solucione el problema que comentas: echa un vistazo a los valores de la propiedad "Anchors" de los mismos: verás cómo es sencillo hacer que los distintos componentes se adapten automáticamente al tamaño del formulario sin que pierdan por eso su original situación.

Cita:

Empezado por Elenita
Lo que quiero realmente es que el doble click en la barra de título no haga absolutamente nada.

Creo que no sabré yo decirte cómo hacer eso exactamente. A lo más que llego por el momento es a lo que te expongo más arriba y que tomas como una posible solución.

Probablemente habrá otras formas de conseguir tu objetivo. A ver si se nos ocurre algo a nosotros o a quien lea este Hilo y quiera aportar su granito de arena para dar cabo al asunto.

dec 19-07-2005 15:25:37

Hola,

Mira, en este mensaje publicado por roman se explica cómo evitar el doble-clic sobre la barra de título del formulario.

lucasarts_18 19-07-2005 20:11:15

Cita:

Empezado por dec

No creo que lo que dices te solucione el problema que comentas: echa un vistazo a los valores de la propiedad "Anchors" de los mismos: verás cómo es sencillo hacer que los distintos componentes se adapten automáticamente al tamaño del formulario sin que pierdan por eso su original situación.

Hola dec:

No he podido ajustar los botones cuando el formulario se agranda, siguen desordenados, podrías decir cuales son las propiedades exactas (true o false) que se deben colocar a la propiedad Anchors.
Siempre he querido que los componentes se ajusten correctamente al formulario, te agradecería mucho tu respuesta.

Saludos.

dec 20-07-2005 06:53:42

1 Archivos Adjunto(s)
Hola,

Verás cómo es más sencillo de lo que parece. Es cuestión, diría, de cogerle "el truco". Creo que un ejemplo irá mejor que todo cuanto pueda decirte al respecto. Ya dirás qué te parece.

Elenita 20-07-2005 09:45:46

Cita:

Empezado por dec
Hola,

Mira, en este mensaje publicado por roman se explica cómo evitar el doble-clic sobre la barra de título del formulario.

Muchísimas gracias Dec, eso es exactamente lo que necesitaba. Estuve buscando mensajes pero no logré encontrar este, que era el que me daba la solución.

:)

PD: Cómo madrugas!!!!!


La franja horaria es GMT +2. Ahora son las 13:17:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi