CListCtrl::HitTest
Détermine que l'élément de l'affichage de liste, le cas échéant, est à une position spécifiée.
int HitTest(
LVHITTESTINFO* pHitTestInfo
) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL
) const;
Paramètres
pHitTestInfo
Adresse d'une structure de LVHITTESTINFO contenant la position du test de positionnement et qui reçoit des informations sur les résultats du test de positionnement.pt
Point à tester.pFlags
Pointeur vers un entier qui reçoit des informations sur les résultats du test. Consultez l'explication du membre de indicateurs de la structure de LVHITTESTINFO dans Kit de développement logiciel Windows.
Valeur de retour
Index de l'élément à la position spécifiée par pHitTestInfo, le cas échéant, ou -1 sinon.
Notes
Vous pouvez utiliser LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT, et les valeurs d' LVHT_TORIGHT du membre de flag de la structure pour déterminer si faire défiler le contenu d'un contrôle liste view. Deux de ces indicateurs peuvent être combinés, par exemple, si la position se trouve au-dessus et à gauche de la zone cliente.
Vous pouvez déterminer la valeur de LVHT_ONITEM du membre de flag de la structure pour déterminer si une position donnée est sur un élément de l'affichage de liste. Cette valeur est une opération de bits OR sur LVHT_ONITEMICON, LVHT_ONITEMLABEL, et les valeurs d' LVHT_ONITEMSTATEICON du membre de flag de la structure.
Exemple
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
CPoint point(pia->ptAction);
// Select the item the user clicked on.
UINT uFlags;
int nItem = m_myListCtrl.HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
LVIS_SELECTED, 0);
}
*pResult = 0;
}
Configuration requise
Header: afxcmn.h