PROBLEME RELOU AVEC LA FONCTION GetCurSel en VCPP6

Signaler
Messages postés
286
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 juillet 2007
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
justilise visula studio6, windows XP.
mon porbleme est ke jattribue la valeur de la fonction getcursel(); a une variable int, odnc elle devrai me renvoyer la valeur selectionnée dans ma liste,mais elel renvopie n'importe koi.
jai désactiver lattribut sorte de ma liste, donc, les valeurs sont stockées dans l'ordre ou je les ajoutes.
voici le code source, ki permet de mettre en evidence cette erreur:
vous pouvez essayer de mettre sa dans un porjet vcpp6

CListBox m_lgame; //liste1
CEdit m_curkey; //edit box ki affiche le nume de lentree selectionne.
[...]
m_lgame.AddString("Half-life");
m_lgame.AddString("Unreal 2003");
m_lgame.AddString("BattleField 1942");
[...]
void CMultiGameKeyGDlg::OnDblclkGame()
{
// TODO: Add your control notification handler code here
OnSetfocusGame();
}

void CMultiGameKeyGDlg::OnSetfocusGame()
{

// TODO: Add your control notification handler code here
int sel=m_lgame.GetCurSel();
CString curekey;
curekey.Format("%d",sel);att
m_curkey.SetWindowText(curekey);
}

sel obtiens lindex de lelement selectionner
création d'un objet CString
attribution a lobjet CString de sel.

attribuer a leditbox lobjet CString contenant la valeur sel

l'erreur est ke kan je selectionne half-life, la valeur renvoyee est -1.
pour battlefield,2 ou 3. et pour unreal, le porgramme plante carrément...
je ne vois pas d'ou viens l'erreur.
si quelqun le sait kil maide SVP!!!!!!!

NB: mon porgramme sera un changeur de clé multi jeux avec jeux ajoutables.

______________________
.----. /RETAKS666@wanadoo.fr /
_.'__ `. / /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

1 réponse

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour Retaks666,

je te conseille plutôt le message OnSelChange
et de changer ton Edit en static text (avec bordure) avec un membre de type CString

void CMultiGameKeyGDlg::OnSelchangeList()
{
UpdateData();//met à jour tes membres m_xxx
int sel=m_lgame.GetCurSel();
CString curekey;
curekey.Format("%d",sel);
m_curekey=curekey;
UpdateData(false);//met à jour les contrôles
}
//ceci fonctionne pour moi