Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hola glugu, el tema de los popup y el systray es sencillo. Antes de mostrar el popup se debe de usar la funcion SetForegroundWindow con la ventana a la que pertenece ese menu. No importa si la ventana esta oculta.
Responder Con Cita
  #2  
Antiguo 26-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por seoane Ver Mensaje
Hola glugu, el tema de los popup y el systray es sencillo. Antes de mostrar el popup se debe de usar la funcion SetForegroundWindow con la ventana a la que pertenece ese menu. No importa si la ventana esta oculta.
¿Pero el TTrayIcon no hace ya esa llamada a dicha función?
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 26-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por jhonny Ver Mensaje
¿Pero el TTrayIcon no hace ya esa llamada a dicha función?
gluglu no ha mencionado el TTrayicon Puede que este usando, por ejemplo, el delphi 7 que no trae ese componente y le toque crear el icono "a mano"
Responder Con Cita
  #4  
Antiguo 26-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por seoane Ver Mensaje
gluglu no ha mencionado el TTrayicon Puede que este usando, por ejemplo, el delphi 7 que no trae ese componente y le toque crear el icono "a mano"
, cierto, cierto, tienes razón... no habia caido en ese detalle, aunque seguramnete mi subconciente si, ya que mencione el TRxTray .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 26-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Perdón, me perdí por ahí 20 minutos y menuda se ha armado también aquí.

Utilizo Delphi 2006 y sí, si utilizo el TTrayIcon.

Insisto, el problema es con el botón izquierdo ...

En el evento OnClick del TrayIcon tengo

Código Delphi [-]
procedure TWakeUp.TrayIcon1Click(Sender: TObject);
begin
  PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;

y de hecho, cuando pulso en otra parte del escritorio o en otra aplicación, ese menú popup NO desaparece automáticamente.

No lo he probado, pero podría tener algo que ver que la Ventana principal de la aplicación correspondiente a ese TrayIcon tengo FormStyle := fsStayOnTop ?, ya que cuando se active, quiere que esté siempre por delante de las demás.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #6  
Antiguo 26-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Una posible solución pasa por lo que ha comentado Domingo:

Código Delphi [-]
  SetForegroundWindow(self.Handle);
  PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
  PostMessage(self.Handle, WM_NULL, 0, 0);

Echa un vistazo a la ayuda de la función "TrackPopupMenu" (del API de Windows) para más información.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 26-09-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Pero no entiendo por que no usas la propiedad PopupMenu del TTrayicon, asi el ya se encarga de mostraralo correctamente.

De todas formas si quieres mostraralo "a mano":
Código Delphi [-]
procedure TWakeUp.TrayIcon1Click(Sender: TObject);
begin
  SetForegroundWindow(PopupMenu1.WindowHandle);
  PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;
Responder Con Cita
  #8  
Antiguo 26-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 23
gluglu Va por buen camino
Efectivamente, gracias Domingo.

Seoane tiene razón. Con este código en el OnClick del TrayIcon funciona correctamente :

Código Delphi [-]
procedure TWakeUp.TrayIcon1Click(Sender: TObject);
begin
  SetForegroundWindow(Handle);
  PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
end;

Vamos a rizar el rizo. Resulta que (vuelvo a poner como ejemplo el messenger), si pulso el botón izquierdo del ratón, abre el correspondiente Popupmenu del messenger. Si ahora pulso dobre cualquier aplicación que se encuentra en la barra de tareas, se cierra el popupmenu y se da 'foco' directamente a la aplicación seleccionada de la barra de tareas.

A mi no me funciona así. Al pulsar sobre una aplicación de la barra de tareas desaparece correctamente el popupmenu de mi TrayIcon pero la aplicación seleccionada en la barra de tareas se pone intermitente y no se le dá foco automáticamente.

__________________
Piensa siempre en positivo !
Responder Con Cita
  #9  
Antiguo 26-09-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Te veo cambiando al componente de las RX
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Trayicon mjjj Varios 2 21-09-2007 00:35:16
Menu popup johurgi Varios 1 27-07-2007 13:55:49
Icono de Firebird como Trayicon brakaman Firebird e Interbase 5 10-04-2007 19:36:08
La v del popup REHome OOP 3 06-10-2005 14:23:17
Problemas con TRAYICON!! marceloalegre Varios 3 07-06-2005 17:49:07


La franja horaria es GMT +2. Ahora son las 08:30:47.


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
Copyright 1996-2007 Club Delphi