Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Actualizar componente notifyIcon desde Thread funcion?

Estas en el tema de Actualizar componente notifyIcon desde Thread funcion? en el foro de C/C++ en Foros del Web. Muy Buenas tardes comunidad, tengo un poco conocimiento manejando de todo un poco nomas algo de cada lenguaje de pro. pero c++ me a complicado ...
  #1 (permalink)  
Antiguo 08/11/2014, 14:10
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Actualizar componente notifyIcon desde Thread funcion?

Muy Buenas tardes comunidad, tengo un poco conocimiento manejando de todo un poco nomas algo de cada lenguaje de pro. pero c++ me a complicado un poco aunque en verdad que potente es.
En que consiste la aplicación:
Me puse a crear una aplicación en visual c++ 2010.
tengo creado el formulario.h y la clase main se encarga de llamar y mostrar a este formulario todo bien hay.
Le agregue el componente notifyIcon, para que cada ves que inicia la aplicación manda un mensaje en la área de notificación derecho abajo de windows alado del relog. hasta hay perfecto.

Ahora mi problema real llega en esta parte.

tengo creado la clase mensaje.cpp con la función mensaje(). necesito que en formulario.h donde se encuentra creado notifyIcon llame con un Hilo o Thread a la funcion mensaje() y cada 10000 o 10seg actualize el mensaje de notifyIcon.

Obser. cuando llamo a la función mensaje() por medio de un hilo funciona excelente. pero no se como actualizar desde esta función a notifyIcon. gracias adjunto una imagen.

  #2 (permalink)  
Antiguo 09/11/2014, 06:21
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Actualizar componente notifyIcon desde Thread funcion?

Puedes crear un thread con un contador que ejecute esa funcion; o tambienpuedes crear un timer que hara de contador


Código C:
Ver original
  1. //funcion que actualiza el mensaje
  2. void CALLBACK actulizaIconMessage(HWND hwnd, unsigned int timer_msg, unsigned int timer_id, unsigned long tick) {
  3.     //ya lo tienes    
  4. }
  5.  
  6. //creas el timer
  7. unsigned int tpr = SetTimer(0, 0, 1000, (TIMERPROC)actulizaIconMessage);


Tambien puedes asignar una ventana padre con un identificador de timer y una funcion nula para que el evento sea notificado a esa ventana padre, luego solo chequeas esa notificacion para estar en la misma situacion.


Código C:
Ver original
  1. #define TIMER_ID 1234
  2. #define TIMER_LAPSE 10000
  3.  
  4. LRESULT CALLBACK procedimientoPrincipal(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
  5.     switch(msg) {
  6.         case WM_CREATE: {
  7.             SetTimer(hwnd, TIMER_ID, TIMER_LAPSE, 0);
  8.         }
  9.         break;
  10.  
  11.         case WM_TIMER: {
  12.             switch(wParam) {
  13.                 case TIMER_ID: {
  14.                     //ya lo tienes
  15.                 }
  16.                 break;
  17.             }
  18.         }
  19.         break;
  20.         ...
  21. }

Es solo un ejemplo, no es necesario crear el timer en el WM_CREATE, puedes crearlo en el momento que quieras, y tambien puedes detenerlo cuando quieras.


Saludos
vosk

Última edición por vosk; 09/11/2014 a las 06:30
  #3 (permalink)  
Antiguo 09/11/2014, 16:07
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Actualizar componente notifyIcon desde Thread funcion?

Gracias por la información me sirvio.

Etiquetas: clase, componente, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:16.