[MFC]CComboBoxEx et SelecString
Bonjour,
J ai une ComboBoxEx rempli par "1", "2", "3"..."10"
A chaque fois que je fais:
int i;
i = m_ctlComboExTest.SelectString(-1,"3");
i = ((CComboBoxEx*)GetDlgItem(IDC_COMBOBOXEX_TEST))->SelectString(-1,"3");
i = ((CComboBox*)GetDlgItem(IDC_COMBOBOXEX_TEST))->SelectString(-1,"3");
ca me renvoie -1, :x pourquoi???????????????
[MFC]CComboBoxEx et SelecString
J utilise cette classe pour le plaisir de voir comment ca fonctionne: la liste est donc remplie par un texte et des images (texte: 1, 2,..10 ; images: bitmap reprenant les chiffres 1, 2, 3...10). (<= pour le contexte, je vais envozer le code, ca sera plus simple, le temps de le retrouver...)
Je suis un hyper novice en visual c++ et je savais pas que l on pouvait utiliser un AddImageList a une ComboBox.
[MFC]CComboBoxEx et SelecString
voila le code...
Considerations:
+ m_ctlComboExTest est une variable membre de controle de type CComboBoxEx faisant reference a la ComBoxEx utilisee:
CComboBoxEx m_ctlComboExTest ;
+ m_imageList est une variable de type liste d images:
CImageList m_imageList;
-> Initialalisation ds OnInitDialog
BOOL ClasseDeTest::OnInitDialog()
{
CDialog::OnInitDialog();
CString csTmp;
COMBOBOXEXITEM ptItem;
for(i = 0; i <10 ; i++) {
ptItem.mask = CBEIF_IMAGE
|CBEIF_TEXT
|CBEIF_OVERLAY
|CBEIF_SELECTEDIMAGE;
ptItem.iItem = i;
csTmp.Format("%d",i);
ptItem.pszText = (LPSTR)(LPCTSTR)csTmp;
ptItem.cchTextMax = 100;
ptItem.iImage = i;
ptItem.iSelectedImage = i;
ptItem.iOverlay = i;
nItem = m_ctlComboExTest.InsertItem(&ptItem);
}
return TRUE;
}
-> qd on appuie sur un bouton situe a cote de la ComboBoxEx, je fais:
void ClasseDeTest::OnButtonTest()
{
int i;
CString csTmp;
UpdateData(FALSE);
i = m_ctlComboExTest.SelectString(-1,"3");
i = ((CComboBoxEx*)GetDlgItem(IDC_COMBOBOXEX_TEST))->SelectString(-1,"3");
i = ((CComboBox*)GetDlgItem(IDC_COMBOBOXEX_TEST))->SelectString(-1,"3");
csTmp.Format("%d",i);
AfxMessageBox(csTmp);
}