Bonjour,
J'ai une grille CListCtrl les styles LVS_REPORT, LVS_SINGLESEL, LVS_SHOWSELALWAYS, et LVS_EX_FULLROWSELECT. Je la remplis dans le OnInitDialog de la fenêtre parent, et je place alors la sélection sur la première ligne de la grille.
Normalement, lorsque la grille a le focus et qu'on utilise les touches flèches vers le bas ou vers le haut, la sélection se déplace sur la ligne suivante ou la précédente. Ca marche bien, SAUF la première fois.
Lorsque la grille reçoit le focus pour la première fois et que j'appuie sur la flèche du bas, la sélection ne change pas. Il faut que j'appuie une deuxième fois pour que ça marche. Ensuite, ça marche à chaque fois, même si la grille perd et regagne le focus entre temps.
Je me suis dit que si la grille avait bien le focus, ce n'était pas forcément le cas de la sélection. Du coup, j'ai voulu fairelorsqu'elle reçoit le focus, où pos est la position du premier item sélectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SetItemState(GetNextSelectedItem(pos), LVIS_FOCUSED, LVIF_STATE)
Mais ça ne change rien.
Je pense qu'il s'agit d'une petite anomalie dans les MFC, mais je ne sais pas comment la résoudre. Quelqu'un aurait-il une idée ?
Partager