PDA

Ver la Versión Completa : Evitar el minimizado del form maximizado


Xema
24-09-2004, 15:28:33
Hola, que tal? Bueno, tengo un form maximizado y sin bordericons, pero si haces doble click sobre la barra del caption, se minimiza... Como podria evitarse esto? he estado probando con los eventos resize y canresize, pero nada.
Si alguien puede echarme una mano, se lo agradecería mucho.
Gracias

defcon1_es
24-09-2004, 17:27:03
Hola, debes asignar código al evento OnMinimize del objeto TApplication.
Para ello tienes 2 opciones, una más fácil que la otra:

1) Menos fácil, Te defines un método TNotifyEvent y se lo asignas al evento Application.OnMinimize

2) Más fácil, Usas el componente TAppEvents de las Rx y en el evento OnMinimize, le pones SysUtils.Abort;, por ejemplo:

procedure TFormPrincipalG5SQL.AppEventsMinimize(Sender: TObject);
begin
SysUtils.Abort; // o lo que quieras ;)
end;


Salu2.

roman
24-09-2004, 18:40:24
Hola, que tal? Bueno, tengo un form maximizado y sin bordericons, pero si haces doble click sobre la barra del caption, se minimiza...

Extraño comportamiento, nunca lo había observado. ¿Estás seguro que se minimiza? Haciendo la prueba en mi caso se restaura (queda del tamaño que tenía al diseñarla) lo cual es igual de raro.

De cualquier forma, no podrás evitarlo con el evento OnMinimize de TApplication. Primero porque este evento ocurre después de que se minimiza la aplicación y segndo porque no es la aplicación la qe deseas evitar que se minimice (o restaure) sino el formulario principal, que no es lo mismo.

Como no entiendo el porquéde este comportamiento no sabría decirte un método óptimo pero al menos puedes evitar el doble click sobre la barra de título:


interface

type
TForm1 = class(TForm)
procedure WMNCLButtonDblClk(var Msg: TWMNCLButtonDblClk);
message WM_NCLBUTTONDBLCLK;
end;

implementation

procedure TForm1.WMNCLButtonDblClk(var Msg: TWMNCLButtonDblClk);
begin
{ No hacer nada }
end;

end.


// Saludos

Xema
27-09-2004, 13:00:11
Muchas gracias por ayudarme. Como bien decís, no se minimiza, sino que vuelve al tamaño de diseño, pero ahí se queda (creo que me expresé mal). Con el evento OnMinimize, como bien dice Román, no funciona, pero con el código que me pasasteis de evitar el doble click, funciona perfectamente.

Muchas gracias de nuevo

Xema
27-09-2004, 13:02:14
Muchas gracias por ayudarme. Como bien decís, no se minimiza, sino que el form vuelve a su tamaño de diseño, y se queda anclado. En el evento Onminimize, no funciona pero con el código que puso Roman, para evitar el doble click sobre la barra del caption, si que puede evitarse. Os agradezco mucho vuestra ayuda e interés.
Gracias de nuevo