![]() |
Reproductor Delphi
Buenas queria saber si me podrian decir como hacer para poder maximizar un panel haciendole doble click , al reproducir un video ..
Como tienen los reproductores actuales , pensaba en modificar algun evento del panel1 ? Porfavor ayuden .. Muchas gracias :D |
Asumiendo que tenes una estructura: Panel dentro del Form (es decir, Panel.Parent := Form)
En el Panel, setea la propiedad Align --> alClient, y En el Form. setea la propiedad WindowsState --> wsMaximized |
Me queda el formulario ocupando toda la pantalla , yo quisiera dejarlo normal.
Pero al iniciar una pelicula o en cualquier momento .. hacer un doble click y que el panel 1 se maximize en toda la pantalla |
Basicamente lo que tenes que hacer es, en el evento OnDblClick del Panel,
Si Form = Maximizado --> Normal Sino Form --> Maximizado Pero es necesario que el panel este alineado alClient (para que se expanda todo lo que su contenedor lo permita) |
Se me maximiza todo el form pero el panel1 queda del mismo tamaño
|
Que es lo que necesitas exactamente? Que el tamaño del panel sea el mismo del form? Porque eso es lo que estoy entendiendo y eso es lo que hace el codigo de arriba |
Hola anonymous.
Cita:
Ahora, que el video también se maximice dependerá de el tamaño que tenga este... Saludos :) |
Saludos. |
Cita:
Al Hacer doble click se me maximiza el formulario pero no el panel ... Este es mi codigo
|
Y entiendo lo que dices. Haz lo siguiente:
Crea un nuevo formulario con available con el la propiedad KeyPreview:= true y siguiente código en el evento OnKeyDown:
En el formulario principal escribes esto en el evento OnDblCick:
El comportamiento será el siguiente: al hacer doble click en el Panel del video en ejecución se maximiza a pantalla completa sin ver formulario alguno y el vídeo lo verás FullSceen, con la salvedad de sus proporciones, que serán respetadas. En esta situación, al pulsar Escape volverá al formulario principal como si nada hubiera pasado, visualizándose normalmente en el panel diseñado al efecto. Saludos. |
Pensándolo mejor, en el segundo formulario no te hace falta ningún Panel quedando el evento así:
Saludos. |
Y si nos ponemos a simplificar, ni siquiera hace falta crear visualmente ningún Form2, lo podemos hacer por código:
Pongo toda la unit de ejemplo para mostrar como asigno el evento OnKeyDown que llamo FullScreenKeyDown
Saludos. |
Gracias Idolo .. el unico error es que al apretar ESC se cierra el programa
|
Como se puede acceder a los eventos de un formulario creado por Codigo ? Tengo esa duda , si me podrias explicar un poco me ayudarias :D
|
Notar que el evento que asignas tiene que ser de firma compatible. Esto es, que los parametros sean lo mismo. Como se ve en el ejemplo, el procedimiento TuEvento tiene un parametro Sender de tipo object, esto es asi porque OnCreate es un evento de tipo TNotifyEvent el cual se declara asi:
El of object te requiere ademas, que el evento este declarado en una clase, de ahi que yo lo haya puesto en TAlgunaClase |
Cita:
Saludos. |
Cita:
Siendo FullScreenKeyDown un evento tipo OnKeyDown (TKeyEvent) procedimiento que pertenece a TForm1:
En realidad un evento no es más que un puntero a un procedimiento perteneciente a una clase que lo recibe. Saludos. |
| La franja horaria es GMT +2. Ahora son las 19:33:53. |
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