bonjour,
je voulais savoir si il etais facile de rajouter dans une SDI un icone dand la zone de notification (a coté de l'heure) si oui merci de me donnée un bout de piste a me mettre sous la dent
Version imprimable
bonjour,
je voulais savoir si il etais facile de rajouter dans une SDI un icone dand la zone de notification (a coté de l'heure) si oui merci de me donnée un bout de piste a me mettre sous la dent
voir dans la faq http://c.developpez.com/faq/vc/?page...hellNotifyIcon
voila le code donner dans le FAQ pour supprimer l'icone mais je ne sais pas quoi en faire !!!Code:
1
2
3
4
5
6
7
8 void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam) { if(nID==SC_CLOSE) { Shell_NotifyIcon(NIM_DELETE, &TrayIcon); } CFrameWnd::OnSysCommand(nID, lParam); }
je l'ai mis dans le MainFram mais ou et quand est-il apeller ?
ben, tu veux l'appeler quand ?
quand je quitte mon programme l'icone soit suprimer
ben, l'exemple montré, c'est quand tu quittes
oui mis moi quand je l'utilise l'icone reste en bas et il faut que ma souris passe dessus pour que l'icone disparaise
c'est pas normal ?!
Tu n'as pas bien lu la doc de WM_SYSCOMMAND : Ton test d'égalité échoue.
Citation:
In WM_SYSCOMMAND messages, the four low-order bits of the wParam parameter are used internally by the system. To obtain the correct result when testing the value of wParam, an application must combine the value 0xFFF0 with the wParam value by using the bitwise AND operator.
La doc est pourtant claire, non ?Code:if((nID & 0xFFF0) == SC_CLOSE)
en faite je passe pas dans la fonction OnSysCommand
il faudrais que je quitte proporement ?
Parce que tu ne quittes pas proprement ?
Ben dans ce cas, c'est normal!
Voici la signification des messages mis en jeu quand on ferme une fenêtre :
- Le message WM_SYSCOMMAND(SC_CLOSE) est envoyé quand on clique sur la croix. En réponse à ce message, DefWindowProc() envoie un message WM_CLOSE.
- Le message WM_CLOSE est envoyé pour ordonner de fermer. En réponse à ce message, DefWindowProc() appelle DestroyWindow().
- Le message WM_DESTROY est envoyé à une fenêtre pour la prévenir qu'elle va être fermée. À ce moment-là, il est trop tard pour empêcher la fermeture.
donc la croix est un bonne facon fr fermé le prog ?
et un exit ?
Un exit est une trèèèèès mauvaise façon de quitter un programme. Surtout en C++, parce que la fin est brutale: aucun destructeur n'est appelé.
tu me conseile quoi ?
Une petite liste ici :
http://www.developpez.net/forums/sho...62&postcount=4
je pense que mon code fonctionne mais en faite il ne faut pas mettre à jour la zone de notification ?
ha et comment je peut lancer un PostMessage(WM_SYSCOMMAND, SC_CLOSE) de mon Doc ?