Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problemas con el componente Scheme (https://www.clubdelphi.com/foros/showthread.php?t=803)

CORBATIN 25-05-2003 20:02:54

Problemas con el componente Scheme
 
Saludos a todos, por recomendación de un miembro del foro, me he bajado un componente llamado Scheme, dicho componente consiste en asignar archivos .bmp para dibujar las distintas partes de un form, para asi poder variar de los form clásicos.

Hasta aquí todo correcto, pero el problema surge cuando cargo el ejemplo que viene con dicho componente en Delphi y al ejecutarlo me funciona todo menos el botón minimizar. He revisado el código y creo que viene bien, también lo he comprobado paso a paso para comprobar que pasa por el lugar correcto y lo hace bien.

A continuación os paso el procedimiento del componente donde hace dicha acción y agradecería mucho cualquier ayuda o consejo sobre este tema, gracias.

procedure TepSchemeForm.DoMin(Sender: TObject);
begin
if (Owner is TForm) then
if Application.MainForm = Owner then
if (Owner as TForm).WindowState <> wsMinimized then
Application.Minimize
else
Application.Restore
else
if (Owner as TForm).WindowState <> wsMinimized then
(Owner as TForm).WindowState := wsMinimized
else
(Owner as TForm).WindowState := wsNormal;
end;

procedure TepSchemeForm.DoMax(Sender: TObject);
begin
if (Owner is TForm) then
if (Owner as TForm).WindowState <> wsMaximized then
(Owner as TForm).WindowState := wsMaximized
else
(Owner as TForm).WindowState := wsNormal;
end;

NOTA: La opción maximizar funciona perfectamente pero en cambio la de minimizar no lo hace.

marcoszorrilla 25-05-2003 22:26:35

Sin conocer el componente yo lo dejaría así:

procedure TepSchemeForm.DoMin(Sender: TObject);
begin
if (Owner is TForm) then
if (Owner as TForm).WindowState <> wsMinimized then
(Owner as TForm).WindowState := wsMinimized
else
(Owner as TForm).WindowState := wsNormal;
end;



procedure TepSchemeForm.DoMax(Sender: TObject);
begin
if (Owner is TForm) then
if (Owner as TForm).WindowState <> wsMaximized then
(Owner as TForm).WindowState := wsMaximized
else
(Owner as TForm).WindowState := wsNormal;
end;

A ver si hay suerte.

Un Saludo.

CORBATIN 25-05-2003 22:41:36

Gracias por tú ayuda, pero tengo que decirte que eso ya lo he probado yo anteriormente y efectivamente funciona, pero resulta que una vez minimizada no la puedo volver a la posición normal.

Por eso creo que la comprobación que hace para saber si es la ventana principal de la aplicación, es decir, la que lleva la aplicación a cuestas, es la que luego permite volver a la ventana a la posición normal, en caso de borrar esta comprobación y como he comentado anteriormente, no la puedo volver a la normalidad.

De nuevo vuelvo a pedir después de esta aclaración, alguna ayuda sobre el tema, gracias.


La franja horaria es GMT +2. Ahora son las 12:46:46.

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