Bonjour,

J'ai commencé un projet Visual C++ 6 avec utilisation des MFC et je voudrais créer une icone dans le SystemTray.
Voici ce que j'ai ajouté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
//CMonAppli.h
...
protected :
	NOTIFYICONDATA IconeT;
public:
	CMonAppliApp::~CMonAppliApp()
	{
		Shell_NotifyIcon(NIM_DELETE, &IconeT);
	}
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
//CMonAppli.cpp
#define MYWM_SYSTRAY (WM_USER+2)
 
...
BOOL CMonAppliApp::InitInstance()
{
...
	IconeT.cbSize = sizeof(NOTIFYICONDATA);
	IconeT.uID = IDI_TRAY;
	IconeT.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
	IconeT.uCallbackMessage = NULL;
	IconeT.hIcon = LoadIcon(IDI_TRAY);
	strcpy(IconeT.szTip, "Bonjour");
	IconeT.hWnd = dlg;
	IconeT.uCallbackMessage = MYWM_SYSTRAY;
	Shell_NotifyIcon(NIM_ADD, &IconeT);
...
IDI_TRAY est l'ID de l'icone dans ma resource.

J'ai deux questions (dont un problème) :
* Pourquoi lorsque le pointeur de la souris approche de l'icone du SystemTray, celle-ci disparaît ? Pourtant il me semble que le code est bon. Peut-être faut-il mettre le code dans CMonAppliDlg plutôt que dans CMonAppliApp ?
* Comment ajouter un menu sur cette icone ?

Merci d'avance.
@++