指点下,关于COMBO BOX

大虾指点下,关于COMBO BOX
我想通过选择COMBO1的选项,来重新初始化COMBO2.有这么一段代码
void CLJR_BDX_TO_V30Dlg::OnSelchangeCombo1() 
{
// TODO: Add your control notification handler code here

CString TEMP;
GetDlgItem(IDC_COMBO1)->GetWindowText(TEMP);

if (TEMP=="LAN") 
{
m_combo2.ResetContent();
m_combo2.AddString("L I");
m_combo2.AddString("L II");
m_combo2.SetCurSel(0); //设置选中的项
set_DropDownSize(m_combo2,12);// 第二个参数决定高度是显示几行
}else if (TEMP=="JA") 
{
m_combo2.ResetContent();
m_combo2.AddString("XJR 1000");
m_combo2.AddString("XJR 2000");
                m_combo2.SetCurSel(0); //设置选中的项
set_DropDownSize(m_combo2,12);// 第二个参数决定高度是显示几行
}

}
我发现,第一次选中JA,TEMP的值仍为LAN(combo1 默认值为LAN),第二次选中JA,值才正确
这是怎么回事?
C ComboBox

------解决方案--------------------
if (TEMP=="LAN") 

用GetCurSel来获取选中的是第几个
------解决方案--------------------
GetDlgItem(IDC_COMBO1)->GetWindowText(TEMP);
这是从 cmb1 的 edit 中得到的 。
OnSelchangeCombo1() 时, edit 还未更新。
所以 应该 用 GetCurSel 直接获取选中的是第几个,而不是 取 Edit 的 内容。

------解决方案--------------------
CString TEMP;
GetDlgItem(IDC_COMBO1)->GetWindowText(TEMP);
-------------------------------------------->
这样取值是不行的,取到的值可能会是选择之前的值。正常应该这样取值:
CString TEMP;
int n = m_combo1.GetCurSel();
m_combo1.GetLBText(n,TEMP);
------解决方案--------------------
CString TEMP;
int n = m_combo1.GetCurSel();
m_combo1.GetLBText(n,TEMP); 
这样来取值。。。