Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2009
Suriu Suriu is offline
Miembro
 
Registrado: abr 2007
Posts: 48
Poder: 0
Suriu Va por buen camino
Question Form a pantalla completa

Hola, como el tema lo indica estoy tratando de poner una form a pantalla completa, hasta aora solo e logrado que esta ocupe el area de trabajo. E estado consultamdo en la web de Microsoft y he encontrado las API GetSystemMetric y SystemParameterInfo pero solo ocupa elarea de trabajo. Esto es lo que tengo:

Trucomania

Truco.495-Que tu appli ocupe toda la pantalla excepto la barra de tarea.

Dependiendo de la posición y el tamaño de la barra de tareas, nuestra aplicación tendrá a su disposición un espacio de trabajo determiando en la
pantalla que debera respatar para no 'pisar' la propia barra de tareas.
Este espacio de trabajo disponible, lo podremos hallar mediante esta llamada al API de Windows:



var
R: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @R, 0);
...
...




con ello, podremos redimensionar nuestra form en el momento de su creación, colocando esto en su evento OnCreate:



procedure TForm1.FormCreate(Sender: TObject);
var
R: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @R, 0);
SetBounds(R.Left, R.Top, R.Right-R.Left, R.Bottom-R.Top);
end;



Ahora bien, si al usuario le da por redimensionar la barra de tareas o bien le da por colocarla en otro sitio, nuestra aplicación debería tener la
capacidad de autoredimensionarse para ocupar el nuevo espacio disponible.
Esto lo podremos hacer mediante la captura del mensaje de Windows WM_SETTINGCHANGE con la salvedad
Msg.WParam=SPI_SETWORKAREA
Así que, capturemos el mensajillo pues...
Pondremos esta linea en la parte private de la form:


type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WMSettingChange( var Msg: TMessage); message WM_SETTINGCHANGE;
public
{ Public declarations }
end;



y la correspondiente declaración en la parte implementation de la form:



procedure TForm1.WMSettingChange( var Msg: TMessage);
var
R: TRect;
begin
Exit;
if (Msg.WParam=SPI_SETWORKAREA) then begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @R, 0);
SetBounds(R.Left, R.Top, R.Right-R.Left, R.Bottom-R.Top);
end;
Msg.Result:=0;
end;



Este codigo solo ocupa el area de trabajo y lo que deseo es que pise la barra de tareas tambien, como lo hace los reproductores de video cuando lo pones a pantalla completa.


Gracias por la ayuda que me puedan dar...
Responder Con Cita
  #2  
Antiguo 15-01-2009
Avatar de white_zombie
[white_zombie] white_zombie is offline
Miembro Premium
 
Registrado: nov 2005
Ubicación: Zaragoza - España
Posts: 187
Poder: 19
white_zombie Va por buen camino
Hola, no hace falta ningún código, es muy fácil solo debes cambiar dos propiedades del form, BorderStyle:=bsNone y WindowsState:=wsMaximized.
Con esto el formulario ocupa toda la pantalla como los reproductores que comentas.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 18-01-2009
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Cita:
Empezado por white_zombie Ver Mensaje
Hola, no hace falta ningún código, es muy fácil solo debes cambiar dos propiedades del form, BorderStyle:=bsNone y WindowsState:=wsMaximized.
Con esto el formulario ocupa toda la pantalla como los reproductores que comentas.

Un Saludo.
Eso si no me lo sabía, yo creí que era algo más complicado...
__________________
Herr Heins Faust
Responder Con Cita
  #4  
Antiguo 20-01-2009
Suriu Suriu is offline
Miembro
 
Registrado: abr 2007
Posts: 48
Poder: 0
Suriu Va por buen camino
gracias

gracias white_zombie por responder lo he probado y me ha pinchado ok.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Form a pantalla completa Roilo Varios 4 19-09-2007 15:26:25
pantalla completa Max_E. Varios 5 28-02-2007 19:01:06
Pantalla Completa en XP Fernando Varios 4 19-12-2005 19:30:42
Webbrowser a pantalla completa nugame Internet 4 29-11-2004 09:14:55
Pantalla completa lafirma OOP 2 23-08-2003 00:31:26


La franja horaria es GMT +2. Ahora son las 18:08:40.


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