Sélectioner une item d'une ListView [Résolu]

Signaler
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Hello!

Il faut que je sélectionne dynamiquement une item d'une listview. Je trouve pas comment le faire avec le code, donc j'ai essayé d'utiliser l'api pour envoyer un message vers la fenêtre.
J'utilise le message 513 (mouse down) et le problème c'est que le lParam c'est la position du curseur en int, et j'ai aucune idée comment la calculer. Est-ce que qqun saurait m'aider?

Ou si il existe une façon différente de sélectioner dyniquement une item dans une listview lol

Merci d'avance

-------------------------
Trambert le vert

2 réponses

Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Bon dans la doc ils disent que dans l'entier qui représente un Point, les 16 bits du bas sont pour la distance horizontale, et les 16 bits du haut la distance verticale.. Un peu de calcul binaire et c'est tout bon.

public static int ConvertPointToDW (Point p)
{
BitArray bit = new BitArray(32);


FillBitArray (bit,p.X,0);
FillBitArray (bit,p.Y,16);


int valeur = 0;


for (int i=0 ; i


return valeur;
}


private static void FillBitArray (BitArray array, int value, int offset)
{
long division = value;
for (int i=offset ; division > 0; i++)
{
array[i] = division % 2 == 1;
division = division /2;
}
}



-------------------------
Trambert le vert
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Salut,

ça devrait être plus simple en te servant de la propriété Selected du ListViewItem que tu veux sélectionner :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#