En fait, j'ai deux soucis :
le premier : j'essais de faire une fonction "add" qui ajoute une ligne dans une CListCtrl avec dans la 1ère colonne, le texte situé dans une CEdit et dans la deuxième colonne, le texte situé dans une deuxième CEdit :
Or, impossible d'afficher le texte de la deuxième colonne!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 void Cconfig::AddCalibration() { CString str ; CListCtrl *listeCalib = static_cast<CListCtrl *>(GetDlgItem(IDC_LS_CONFG)); //création d'une structure LV_ITEM pour l'insertion des lignes LV_ITEM lvi; //colonne 1 lvi.mask = LVIF_TEXT ; lvi.iItem = listeCalib->GetItemCount() + 1; lvi.iSubItem = 0; GetDlgItemText(IDC_ED_CALIB, str); lvi.pszText = (char*)LPCTSTR(str); listeCalib->InsertItem(&lvi); //colonne 2 GetDlgItemText(IDC_ED_VALUE, str); lvi.iSubItem = 1; lvi.pszText = (char*)LPCTSTR(str); listeCalib->SetItem(&lvi); }![]()
mon deuxième problème est du même ordre:
lorsque je sélectionne une ligne dans ma liste, j'affiche le contenu des deux colonnes de la ligne sélectionnée dans les CEdit correspondante. J'ai ensuite fait une fonction "remove" qui supprime la ligne sélectionnée et qui efface les deux CEdit... Or, impossible de les effacer. Voila mon code :
merci pour votre aide, parce que la, franchement, je sèche!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void Cconfig::RemovCalibration() { CEdit *edCalib = static_cast<CEdit *>(GetDlgItem(IDC_ED_CALIB)); CEdit *edValue = static_cast<CEdit *>(GetDlgItem(IDC_ED_VALUE)); int iItem; CListCtrl *listeCalib = static_cast<CListCtrl *>(GetDlgItem(IDC_LS_CONFG)); iItem = listeCalib->GetSelectionMark(); listeCalib->DeleteItem(iItem); edCalib->Clear(); edValue->Clear(); }
Partager