一.控件ID名称
界面如图下所示:
候选数据列表的ID为:
已选数据列表的ID为:
二.数据添加
可以使用以下代码往框中添加数据:
((CListBox *)GetDlgItem(IDC_LIST_TO_CHO))->AddString("测试数据");
显示效果如下:
如果有多个数据,可以使用以下方法:
char CHO_Data[5][20] = {"测试数据一","测试数据二","测试数据三","测试数据四","测试数据五"};
for (int i = 0; i < 5;i++)
((CListBox *)GetDlgItem(IDC_LIST_TO_CHO))->AddString(CHO_Data[i]);
显示效果如下:
如果想让数据按照自己的顺序排序,可以在控件处将自动排序关闭:
三.把候选列表中数据插入到已选列表中
实现代码如下:
CString szStr;
int GetCulSel = ((CListBox *)GetDlgItem(IDC_LIST_TO_CHO))->GetCurSel(); //获取到"待选数据列表"中鼠标所选择的数据顺序
((CListBox *)GetDlgItem(IDC_LIST_TO_CHO))->GetText(GetCulSel,szStr); //获取到当前选择的文本内容
((CListBox *)GetDlgItem(IDC_LIST_TO_INSERT))->AddString(szStr); //将文本添加在"已选数据列表"中
效果如下:
可以看到“已选数据列表”中的数据是乱的,需要把该控件的自动排序也关掉:
关闭后数据就会按照插入的顺序往下排列:
五.把已选数据列表中的数据删除
代码实现如下:
int GetCulSel = ((CListBox *)GetDlgItem(IDC_LIST_TO_INSERT))->GetCurSel(); //获取"已选数据列表"中鼠标所选择的数据顺序
((CListBox *)GetDlgItem(IDC_LIST_TO_INSERT))->DeleteString(GetCulSel); //删除数据
效果如下: