Hello, 大家好! 我有一个ComboBox控件,有CNB_SELECTCHANGE和CNB_EDITCHANGE两个消息映射,响应函数分别为OnEditChange和OnCmbSelectChang,
我操作的顺序是这样的:在控件中先从下拉列表选择一个选项,然后就修改控件中的内容。
问题在于:选择列表选项后,第一次修改控件内容没有改变并保持原来的内容,得第二次修改才会改变。原因在下面代码中的GetCurSel()函数中,在第一次修改后返回的还是选择列表的索引号而不是-1.
是我在select之后的处理问题吗?我想用UpdateData()来更新数据,但是工程里没有包含afxwin.h,添加了此函数会提示错误。
不是很明白MFC的原理,求高手解答?
以下是一部分代码:”
我操作的顺序是这样的:在控件中先从下拉列表选择一个选项,然后就修改控件中的内容。
问题在于:选择列表选项后,第一次修改控件内容没有改变并保持原来的内容,得第二次修改才会改变。原因在下面代码中的GetCurSel()函数中,在第一次修改后返回的还是选择列表的索引号而不是-1.
是我在select之后的处理问题吗?我想用UpdateData()来更新数据,但是工程里没有包含afxwin.h,添加了此函数会提示错误。
不是很明白MFC的原理,求高手解答?
以下是一部分代码:”
BEGIN_MSG_MAP(CComboBoxListControl)
CHAIN_MSG_MAP(CListControl)
COMMAND_CODE_HANDLER(CBN_EDITCHANGE, OnEditChange)
COMMAND_CODE_HANDLER(CBN_SELCHANGE, OnCmbSelectChange)
{
static int nNumber = 0;
AtlTrace(_T("Combo - <%d>- %d -\n"), nNumber++, uMsg);
}
ALT_MSG_MAP(1)
COMMAND_CODE_HANDLER(CBN_EDITCHANGE, OnEditChange)
COMMAND_CODE_HANDLER(C