NotifyIcon

15/04/2004 - 00:52 por Scafe | Informe spam
Hola, estoy agregando un NotifyIcon a mi app, pero no
funciona como esperaria. declaro un NOTIFYICONDATA en mi
calse de dialogo, y una funcion

afx_msg LRESULT OnNotifyMe( WPARAM wparam, LPARAM lparam);

luego en el constructor del dialogo seteo los miembros de
NOTIFYICONDATA y pongo un uCallbackMessage=MY_NOTIFY;
y llamo a Shell_NotifyIcon(NIM_ADD, &myNotify);

por ultimo agregué estos mensajes al mapa:
ON_WM_CONTEXTMENU()
ON_MESSAGE(MY_NOTIFY, OnNotifyMe)

intente controlar el notify pero cuando paso el puntero
del mouse sobre el mismo se elimina del tray, sin enviar
ningun evento.

desde ya agradezco cualquier ayuda al respecto.

Preguntas similare

Leer las respuestas

#6 Scafe
15/04/2004 - 04:16 | Informe spam
gracias, aparentemente el problema era en realidad la
ubicacion de la llamada a Shell_NotifyIcon, que estaba
siendo llamado desde el constructor del dialogo, y cuando
pase la llamada a OnInitDialog() empezo a funcionar sin
problemas (obviamente con la linea corregida que me
sugeriste antes). desde ya muchas gracias.

"Scafe" escribía,

Gracias! efectivamente lei la documentacion, pero
evidentemente no la lei con la debida atencion. por otra
parte lo acabo de probar y todavia asi sigue teniendo el
mismo comportamiento, o sea ninguno.




cuando vos paseás el ratón sobre tu ícono en el systray,


el chabón
callbackea un MY_NOTIFY al handler de tu ventana. El


lParam del mensaje,
contiene información sobre el código del "evento". No


creo que el lParam
sea nunca igual a WM_CONTEXTMENU, pero puedes trackear el


menú cuando
lParam sea igual a WM_RBUTTONDOWN... suele ser lo clásico.

Hernán (28)
Quilmes (ar)
.

Respuesta Responder a este mensaje
#7 Cholo Lennon
15/04/2004 - 18:57 | Informe spam
Moraleja:
Nunca pongas código relacionado con la parte visual de un diálogo/vista o lo
que sea en el constructor de la clase. Es este punto no hay nada de la parte
visual creado!!, Hazlo en el controlador de mensajes adecuado como
OnInitDialog, OnCreate, etc. Usa el constructor sólo para inicializar
variables simples de clase.

Saludos
Cholo Lennon
Salta, ARG
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida