Bonjour,
Je veux sélectionner une ligne entière par programme dans un ListCtrl
La sélection manuelle fonctionne bien .
La fonction .. EnsureVisible(....) fonctionne bien mais pas de surlignage de la ligne.
Ci joint extraits de code qui pourraient être en cause:
Pouvez-vous me donner la solution?
A l'avance merci.
Dans InitDialog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // mode report.edit , m_ListPoints.ModifyStyle(0,LVS_REPORT | LVS_EDITLABELS ); //Select ligne entière m_ListPoints.SetExtendedStyle(m_ListPoints.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
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 void COutilsDAT::SelectionnerItem(int NumPOINT) { m_ListPoints.SetItemState(NumPOINT, LVIS_SELECTED, LVIS_SELECTED); m_ListPoints.EnsureVisible(NumPOINT, FALSE); } void COutilsDAT::TrouverEtSelectionnerLaLigne() { int numPOINT; int X=XYPointCourbeSelectionne.x; int Y=XYPointCourbeSelectionne.y; DeselectionnerTout(); numPOINT=TouverItemListe(X,Y); if (numPOINT!=-1) SelectionnerItem(numPOINT); }
Partager