zapan666 Tout est relatif | Yop, J'ai une icone dans la barre des tâches (via wx.TaskBarIcon)
Cet objet peut créé un p'tit popup menu (pour les clicks droit) via la redefinition de CreatePopupMenu(self)
Ca, ça marche nickel.
Maintenant, j'aimerais mettre une p'tit notification avec un BalloonTip donc j'utilise cette grosse repompe de code :
(code que je maitrise mal pour l'instant)
Code :
- import win32gui
- import win32con
- TTS_BALLOON = 0x40
- WM_TRAYMESSAGE = win32con.WM_USER + 20
- def _get_nid(hwnd, id, flags, callbackmessage, hicon, title, msg):
- nid = (hwnd, id, flags, callbackmessage, hicon)
- nid = list(nid)
- nid.append('') # the tip
- nid.append('msg') # the balloon message
- nid.append(5) # the timeout
- nid.append('title') # the title
- nid.append(win32gui.NIIF_INFO) # also warning and error available
- print repr(nid)
- return tuple(nid)
- _hwnd = None
- def find_traywindow_hwnd():
- global _hwnd
- if _hwnd is None:
- try:
- _hwnd = win32gui.FindWindowEx(0, 0, 'wxWindowClassNR', '')
- except:
- pass
- return _hwnd
- def SetBalloonTip(hicon, title, msg):
- hwnd = find_traywindow_hwnd()
- id = 99 # always 99
- flags = win32gui.NIF_MESSAGE | win32gui.NIF_ICON | win32gui.NIF_INFO
- callbackmessage = WM_TRAYMESSAGE
- nid = _get_nid(hwnd, id, flags, callbackmessage, hicon, title, msg)
- try:
- win32gui.Shell_NotifyIcon(win32gui.NIM_MODIFY, nid)
- except:
- pass
|
Ca m'affiche bien la balloonTip et là, boom. impossible d'obtenir a nouveau mon menu via le click droit.
A mon avis, c'est le Notify Icon Data (nid) qui flingue le bordel : ça doit remplacer mon icone courant et en mettre un autre, du coup, cette icone n'es plus bindé. ---------------
my flick r - Just Tab it !
|