ListBox comment avoir l'evenement click alerte!

Signaler
Messages postés
14
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
2 avril 2003
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
voila je voudrais pouvoir aficher un menu popup quand je séléctionne une ligne de list box afin de supprimer cette ligne. Mais le control ne comprend pas l'évenement.

merci d'avance !

4 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour,
il suffit de capturer le message de notification
LBN_SELCHANGE

si tu fais des MFC (CTRL+W) et voici un exemple

void CListBoxDlg::OnSelchangeList()
{
//Récupérer l'indice sélectionné
int index = GetDlgItem(IDC_LIST)->SendMessage(LB_GETCURSEL, 0, 0);
if (AfxMessageBox("voulez vous détruire cet item ?")==IDOK)
SendDlgItemMessage(IDC_LIST, LB_DELETESTRING, index, 0);
}

sinon le code précédent est quasiment utilisable avec MessageBox car il évite la donnée membre de type CListBox
Messages postés
14
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
2 avril 2003

-------------------------------
Réponse au message :
-------------------------------

> bonjour,
> il suffit de capturer le message de notification
> LBN_SELCHANGE
>
> si tu fais des MFC (CTRL+W) et voici un exemple
>
> void CListBoxDlg::OnSelchangeList()
> {
> //Récupérer l'indice sélectionné
> int index = GetDlgItem(IDC_LIST)->SendMessage(LB_GETCURSEL, 0, 0);
> if (AfxMessageBox("voulez vous détruire cet item ?")==IDOK)
> SendDlgItemMessage(IDC_LIST, LB_DELETESTRING, index, 0);
> }
>
> sinon le code précédent est quasiment utilisable avec MessageBox car il évite la donnée membre de type CListBox
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > voila je voudrais pouvoir aficher un menu popup quand je séléctionne une ligne de list box afin de supprimer cette ligne. Mais le control ne comprend pas l'évenement.
> >
> > merci d'avance !
>
Messages postés
14
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
2 avril 2003

Merci j'étais en train de m'arracher les cheuveux.

mais voila ,je voudrais aussi pouvoir capturer l'evenement click de la listbox quand il n'y a pas encore d'items, comme ca je pourrais afficher mon menu pop up (click droit dans la list box vide)qui me proposerais d'ajouter un item.

et la j'ai fait tout l'internet sans réponse!

et aussi excuse mon ignorance mais oui je suis sous les mfc
mais pourquoi (CTRL+W).

merci encore!
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
RE-
Il n'y a pas d'événement Click pour le type LISTBOX
les seules notifications sont celles que tu vois par ClassWizard (raccourci CTRL+W)
Je te conseille d'utiliser de façon "intelligente" LBN_SETFOCUS... attention avec ces événements utilisés en association avec une boite de dialogue (qui appelle elle même le focus) et déclenche donc LBN_KILLFOCUS... jusqu'à fermeture de la dialogue qui redéclenche le LBN_SETFOCUS !