程序可以实现,编辑的时候三角下拉了,但是就是没有内容,尝试了data里添加也尝试Addstring都没有响应内容,求解惑!
看看你这些添加下拉的代码写在哪里了,是不是写在 InitDialog 里面的
问题的原因可能是没有正确地设置combobox的数据源。可以尝试以下几个步骤来解决问题:
确认combobox的ID和控件变量的命名是否正确。可以在resource.h中查看combobox的ID是否正确,并在代码中确认控件变量是否与ID对应。
确认combobox的数据源是否正确设置。可以使用以下代码设置combobox的数据源:
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1);
pComboBox->AddString(_T("Item 1"));
pComboBox->AddString(_T("Item 2"));
pComboBox->AddString(_T("Item 3"));
上述代码会在combobox中添加三个选项,如果combobox下拉内容仍然没有显示,那么可以尝试在OnInitDialog()函数中添加该代码,确保在窗口初始化时设置了combobox的数据源。
确认combobox的样式是否正确设置。可以在combobox属性中确认样式是否正确设置为了下拉列表框。
如果上述步骤都没有解决问题,可以尝试在窗口初始化时使用下面的代码设置combobox的样式和数据源:
CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO1);
pComboBox->ResetContent();
pComboBox->ModifyStyle(0, CBS_DROPDOWNLIST);
pComboBox->AddString(_T("Item 1"));
pComboBox->AddString(_T("Item 2"));
pComboBox->AddString(_T("Item 3"));
该代码会清空combobox的内容,设置样式为下拉列表框,并添加三个选项到combobox中。
// CComboBox#AddString()向控件的末尾添加数据
m_combobox1.AddString(TEXT("COM4"));
m_combobox1.AddString(TEXT("COM5"));
// CComboBox#InsertString()向控件的指定的索引位置插入数据
m_combobox1.InsertString(1, TEXT("COM10"));
// 从控件的Data列表中选则当前显示的数据
m_combobox1.SetCurSel(1);
// 删除下拉框中指定索引的数据
m_combobox1.DeleteString(1);
// 清空下拉框中的所有数据
m_combobox1.ResetContent();
// 获取当前选中的数据的索引: 索引从0开始:没有数据被选中返回-1
int nSelectdIndex = m_combobox1.GetCurSel();
// 获取当前选中的文本
if (nSelectdIndex >= 0) {
CString content;
m_combobox1.GetLBText(nSelectdIndex, content);
MessageBox(content);
} else {
MessageBox(TEXT("没有数据被选中"));
}