Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-10-2004
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Boton Windows xp

Hola Amigos:

Como puedo realizar una funcion similar al boton "ir al escritorio" que viene con Windows xp y generalmente se encuentra en la barra de tareas de windows.


Gracias.
Responder Con Cita
  #2  
Antiguo 28-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Personalmente no lo he probado y no me gusta mucho cómo está hecho, pero mientras no tengas nada mejor puedes probar éste código:

Código Delphi [-]
  procedure MinimizeAll;
  Begin
    {  + 'M' minimizes all windows, +'M'
      restores them }
    keybd_event( VK_LWIN, MapvirtualKey( VK_LWIN, 0), 0, 0 );
    keybd_event( Ord('M'), MapvirtualKey( Ord('M'), 0), 0, 0 );
    keybd_event( Ord('M'), MapvirtualKey( Ord('M'), 0), KEYEVENTF_KEYUP, 0 );
    keybd_event( VK_LWIN, MapvirtualKey( VK_LWIN, 0), KEYEVENTF_KEYUP,  0 );
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 28-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Versión mejorada ;-)

Éste sí me gusta más...

(1) Coloca en tu form un botón
(2) Añade la unit ComObj al uses
(3) Añade las dos definiciones siguientes al private.

Código Delphi [-]
    procedure Minimize;
    procedure Restore;

(4) La implementación de los dos procedimientos es la siguiente:

Código Delphi [-]
procedure TForm1.Minimize;
var
  Shell : OleVariant;
begin
  Shell := CreateOleObject('Shell.Application') ;
  Shell.MinimizeAll;
  Shell := VarNull;
end;
procedure TForm1.Restore;
var
  Shell : OleVariant;
begin
  Shell := CreateOleObject('Shell.Application') ;
  Shell.UndoMinimizeAll;
  Shell := VarNull;
  // Delay for 100ms to allow all other windows to restore then
  // set this one to foreground.
  Sleep(100);
  SetForegroundWIndow(Self.Handle);
end; {Restore}

(5) Y por último en el evento del botón coloca lo siguiente:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  case Button1.Tag of
  0:
    begin
      Minimize;
      Button1.Tag := 1;
    end;
  1:
    begin
      Restore;
      Button1.Tag := 0;
    end;
  end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 28-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali
Código Delphi [-]
{  + 'M' minimizes all windows, +'M'
restores them }
¡Ah! ¿Se refieren a ese botón? Quizá les sirva esto.

// Saludos
Responder Con Cita
  #5  
Antiguo 28-10-2004
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Muchas gracias, ahora mismo hago la prueba
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


La franja horaria es GMT +2. Ahora son las 19:47:33.


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