DDX_CBIndex()中的值错误
Wrong value from DDX_CBIndex( )
我有以下
void AggiungiEsameDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_COMBO1, ComboBoxVoti);
CString a;
for (int i = 18; i <= 30; i++)
{
a.Format(_T("%d"), i);
ComboBoxVoti.AddString(a);
}
DDX_Text(pDX, IDC_EDIT1,nome);
DDX_CBIndex(pDX, IDC_COMBO1, voto);
}
具有CComboBox类型的ComboBoxVoti和类的成员。
如果我调用ComboBoxVoti.GetCurSel,我有确切的索引(0表示18,1表示19,依此类推),但在voto(由DDX_CBIndex链接)中,我有1表示18,3表示19,5表示20,7表示21,依此类推!!为什么?
正如Igor所写,您永远不应该在每次调用OnInitDialog时添加项目。
您可以使用**if(!pDX->m_bSaveAndValidate)**对此进行保护。
在将项目插入组合框之前,您应该清除该组合框,以将其重置为唯一的初始状态。
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 错误:未在此范围内声明'reverse'