![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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.
__________________
No hay vientos favorables para quién no conoce su rumbo. |
![]() |
|
|
![]() |
|