Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Poner un form en el escritorio y que se vea al hacer Tecla win+D

Hola a todos.

Estoy interesado en hacer una aplicación que se coloque en el escritorio de windows, no encima de las demás ventanas, sino debajo, pero encima del fondo de escritorio. No sé si me explico. Se trataría de una aplicación que al mostrar el escritorio se viera. ¿Se puede hacer eso con Delphi?

Por si lo conocéis, hay un programa que hace eso: Rainlendar, tipo calendario con tareas y eventos. (Por cierto, os lo recomiendo). Precisamente lo que quiero es hacer una versión particular de este programa.

Gracias de antemano. Un saludo.
Responder Con Cita
  #2  
Antiguo 05-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Para hacer este tipo de aplicaciones, tienes que usar forms transparentes. Si miras en la seccion trucos encontraras maneras (con delphi 5). Si no, lo unico que tienes que hacer es colocar la propiedad Alphablend del form a 0 , con border := bsNone, etc...tendras q programar, por eso, el mover el form. Saludos.
Responder Con Cita
  #3  
Antiguo 05-10-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Gracias coso por tu respuesta.

Pero, ¿hacer mi form transparente hace que no desaparezca al mostrar el escritorio?

Quizá no me expliqué bien. No quiero un formulario que esté siempre encima, sino que esté sólo encima de la imagen del fondo del escritorio en win xp. Es decir, al hacer click en el acceso directo a "Mostrar escritorio" (o pulsar tecla win+D), se ocultan todas las aplicaciones activas (se van a la barra de tareas), excepto el Rainlendar del que hablé, que queda encima de la imagen del escritorio. ¿Eso se puede hacer con forms transparentes?

Un saludo.
Responder Con Cita
  #4  
Antiguo 05-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Ah, no, eso no tiene nada que ver con las forms transparentes. Lo que puedes hacer es capturar el mensaje de minimizar y anularlo de alguna manera.

Algo asi:

Código Delphi [-]
 
procedure WMSysCommand(var Msg : TWMSysCommand); message WM_SYSCOMMAND; 
...
procedure T_main.WMSysCommand(var Msg : TWMSysCommand);
begin
     if (Msg.CmdType = SC_MINIMIZE) then
     begin 
       // anular o lo que corresponda
     end
     else defaulthHandler(msg);
end;

en este caso, de igual manera tendras que implementar tu alguna opción de minimizar si la necesitas.
Responder Con Cita
  #5  
Antiguo 05-10-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
OK, gracias, esto sí que puede ser lo que busco.

Un saludo.
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
Extensión de escritorio - No minimizar form contenido ariefez Varios 8 30-09-2006 01:48:35
Imposible hacer visible un form desde otro form SMTZ .NET 13 16-01-2006 21:41:08
Posición absoluta en el escritorio de un componente de mi form Ricard Rabassó OOP 2 13-01-2006 14:14:25
Evitar cerrar form con la tecla ESC... uper Varios 1 06-12-2005 20:11:54
Poner un fondo en el form hook Gráficos 2 13-05-2004 18:14:35


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


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