ListBox comment avoir l'evenement click alerte!

transmedia Messages postés 14 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 2 avril 2003 - 24 févr. 2003 à 01:54
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 - 24 févr. 2003 à 15:11
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

cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
24 févr. 2003 à 11:37
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
0
transmedia Messages postés 14 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 2 avril 2003
24 févr. 2003 à 14:47
-------------------------------
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 !
>
0
transmedia Messages postés 14 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 2 avril 2003
24 févr. 2003 à 14:53
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!
0
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
24 févr. 2003 à 15:11
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 !
0
Rejoignez-nous