PDA

Ver la Versión Completa : Problemas con el componente Scheme


CORBATIN
25-05-2003, 20:02:54
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.