| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 
 |  
	POINT l_Point;
	if( ::GetCursorPos(&l_Point) )
	{
		// Conversion des coordonnées du curseur
		this->m_ctrlTree.ScreenToClient(&l_Point);
 
		// Récupération du handle de l'item sous le curseur
		HTREEITEM l_hItem = this->m_ctrlTree.HitTest(CPoint(l_Point.x, l_Point.y));
		if( l_hItem )
		{
			// Mise en sélection de l'item
			this->m_ctrlTree.SelectItem(l_hItem);
			DWORD l_itemData = this->m_ctrlTree.GetItemData(l_hItem);
 
			CMenu l_Menu;
			if( l_Menu.LoadMenu(IDR_MENU) )
			{	
				CMenu* l_pPopupMenu = 0;
				if( l_itemData == l_pInstance->CST_0 )
					l_pPopupMenu = l_Menu.GetSubMenu(0);
				else if( l_itemData == l_pInstance->CST_1 )
					l_pPopupMenu == l_Menu.GetSubMenu(1);
				else if( l_itemData == l_pInstance->CST_2 )
					l_pPopupMenu == l_Menu.GetSubMenu(2);
 
				this->m_ctrlTree.ClientToScreen(&l_Point);
				l_pPopupMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, l_Point.x, l_Point.y, this);
 
				l_Menu.DestroyMenu();
			}
		}
	} | 
Partager