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 25-09-2003
cso2000 cso2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco
Posts: 108
Poder: 21
cso2000 Va por buen camino
Traer mi app a rpimer plano

Saludos a todos.


lo que quiero es poder hacer que mi aplicacion pase al primer plano de la pantalla si es que otro programa se encuentra en este


me explico: mi aplicacion es de reportes que se actualizan pero en ocaciones se ejecutan otros programas ( Ejemp. Word ) pero mi aplicacion sigue ejecutandose lo que pasa es que quiero que el usuario siempre pueda ver los cambios en los reportes


espero que alguien me pueda ayudar


de antemano Gracias.
Responder Con Cita
  #2  
Antiguo 25-09-2003
jafl1965 jafl1965 is offline
Miembro
 
Registrado: may 2003
Ubicación: Morelia, México
Posts: 170
Poder: 21
jafl1965 Va por buen camino
Pon la propiedad de tu forma principal
FormStyle= StayOnTop

espero sea eso,
saludos
Responder Con Cita
  #3  
Antiguo 25-09-2003
cso2000 cso2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco
Posts: 108
Poder: 21
cso2000 Va por buen camino
Gracias por Responder:


Cambiare un poco la pregunta lo qur quiero hacer es cambiar de aplicacion como cuando utilizamos las teclas Alt + Tab

pero solo con ciertas aplicaciones


Gracias de nuevo.
Responder Con Cita
  #4  
Antiguo 25-09-2003
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
Supongo que preguntas por Application.BringToFront

Ahora, dado que lo que indica jafl1965 no es lo que quieres supongo que la intención es que el usuario pueda trabajar en otra aplicaciones mientras se generan los reportes y activar tu aplicación cuando están listos.

En mi opinión no es muy buena idea en especial para usuarios como yo que no podemos escribir sin dejar de ver el teclado. Hay momentos en que estamos escribe y escribe y no nos hemos dado cuenta de lo inútil de nuestro esfuerzo ya que otra ventana se activó sin darnos cuenta.

Yo optaría por un aviso menos intrusivo, por ejemplo FlashWindow que te permite parpadear y resaltar en azul el botón de tu aplicación en la barra de tareas.

// Saludos
Responder Con Cita
  #5  
Antiguo 25-09-2003
cso2000 cso2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco
Posts: 108
Poder: 21
cso2000 Va por buen camino
Hola Roman tu es cribiste

---------
supongo que la intención es que el usuario pueda trabajar en otra aplicaciones mientras se generan los reportes y activar tu aplicación cuando están listos.
---------

y es exactamente lo que quiero, quise utilizar la funcion

Application.BringToFront

y no me funciono como es que tengo que utilizarla



Saludos
Responder Con Cita
  #6  
Antiguo 25-09-2003
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:
Posteado originalmente por cso2000
quise utilizar la funcion Application.BringToFront y no me funciono como es que tengo que utilizarla
Ya veo, el efecto es el del botón que "flashea" pero la aplicación no se activa. Para activar prueba usar esta función que saqué de otro proyecto:

Código:
function Activar;
var
  FgThreadId  : DWORD; { Hilo de la app. que tenga el foco }
  AppThreadId : DWORD; { Hilo de nuestra aplicación        }

begin
  { Si está minimizada basta restaurarla }
  if IsIconic(Application.Handle) then
    ShowWindow(Application.Handle, SW_RESTORE)
  else
  begin
    { Obtener los hilos }
    FgThreadId  := GetWindowThreadProcessId(GetForegroundWindow, nil);
    AppThreadId := GetWindowThreadProcessId(Handle, nil);

    { Anexar el hilo de nuestra app. al de la  que tenga el foco }
    AttachThreadInput(AppThreadId, FgThreadId, true);

    { Ahora sí, activar la applicación }
    SetForegroundWindow(Handle);

    { Separar el hilo de nuestra app de la otra }
    AttachThreadInput(AppThreadId, FgThreadId, false);
end;
Lo había olvidado. Application.BringToFront no siempre es suficiente para activar la aplicación. Esta función la saqué cuando estuve investigando como evitar que una aplicación se ejecute dos veces

Espero que esto te sirve.

// Saludos
Responder Con Cita
  #7  
Antiguo 25-09-2003
cso2000 cso2000 is offline
Miembro
 
Registrado: may 2003
Ubicación: Guadalajara, Jalisco
Posts: 108
Poder: 21
cso2000 Va por buen camino
Muchas Gracias Roman este codigo Funciona Muy Byen


Saludos
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 20:52:09.


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