初始化combo框内的下拉值后,向利用下拉值的索引来设定三个int类型的数值,可是不知道为什么不管选定下拉框中的哪一个选项,系统只会传递第一个下拉值的索引的指定int数值,函数贴在下面,哪里出了问题?
BOOL CSetParaColDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_combo.InsertString(0, _T("DataLogger"));
m_combo.InsertString(1, _T("DataUp"));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCsvConvertToDtsView::OnSetParaColumn()
{
// TODO: Add your command handler code here
CSetParaColDlg setParaColDlg;
setParaColDlg.m_nTimePosition = m_nTimeColumn;
setParaColDlg.m_nSpeedPosition = m_nSpeedColumn;
setParaColDlg.m_nDepthPosition = m_nDepthColumn;
if(IDOK==setParaColDlg.DoModal())
{
if(setParaColDlg.m_combo.GetCurSel() == 0)
{
m_nTimeColumn = 2;
m_nSpeedColumn = 6;
m_nDepthColumn = 7;
}
else if(setParaColDlg.m_combo.GetCurSel() == 1)
{
m_nTimeColumn = 1;
m_nSpeedColumn = 7;
m_nDepthColumn = 8;
}
}
}
我发现这样写获取的并不是当前选中的位置的索引 但是不知道应该怎样修改
【以下回答由 GPT 生成】
首先,根据提供的代码,没有问题代码,因此可以排除代码本身的问题。问题可能是在CSetParaColDlg
类的设计中。
根据您提供的代码,很可能是在CSetParaColDlg
类的定义中,m_combo
控件的变量没有正确地与对话框编辑控件进行关联。请确保以下两个方面已正确设置:
CSetParaColDlg
类的头文件中,使用类向导生成的DDX_Control
宏来关联m_combo
变量和对话框上的实际编辑控件。例如:CComboBox m_combo; // 在 CSetParaColDlg 类的头文件中
// 在 OnInitDialog() 函数中,使用 DDX_Control 宏关联控件和对应的变量
DDX_Control(pDX, IDC_COMBO1, m_combo); // 在 CSetParaColDlg 类的 DoDataExchange() 函数中
确保IDC_COMBO1
与您实际对话框编辑控件的ID一致。
COMBOBOX IDC_COMBO1,50,38,100,100,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
确保IDC_COMBO1与您代码中使用的ID一致。
如果您完成了上述两个步骤,但问题仍然存在,请提供更多关于CSetParaColDlg
类和相关对话框资源的代码,以便进一步分析问题的原因。
【相关推荐】