在类中定义了。
public:
int sendportsel类构造函数中:
senportsel=0;OnInitDialog函数中:
((CComboBox*)GetDlgItem(IDC_COMBO_SENDCOM))->SetCurSel(sendportsel);让combobox控件响应CBN_SELCHANG消息
void CAutoRCDlg::OnSelchangeComboSendcom() 
{
// TODO: Add your control notification handler code here
CString str="sss";
sendportsel=((CComboBox*)GetDlgItem(IDC_COMBO_SENDCOM))->GetCurSel();
sendportsel=+1;
str.Format("%d",sendportsel);
MessageBox(str);
}
但是消息框弹出的消息始终是1,请问事怎么回事。

解决方案 »

  1.   

    你是不是只是运行啊,没有选择Combobox的项啊,选择了,还是吗?
      

  2.   

    当执行OnSelchangeComboSendcom消息时,你的ComboBox还没有改变索引值
      

  3.   

    先给ComboBox绑定一个control类型的变量 m_combobox
    仍然后m_combobox.GetCurSel()就ok了
      

  4.   

    我用
    sendportsel=((CComboBox*)GetDlgItem(IDC_COMBO_SENDCOM))->GetCurSel(); 
    这种方法应该是和你说用control类型变量来控制的效果是一样的吧
      

  5.   

    你把下面的代码放在一下按钮的单击事件中,然后改变combobxo的选项,并单击按钮,看弹出的信息是什么.
    CString str="sss"; 
    sendportsel=((CComboBox*)GetDlgItem(IDC_COMBO_SENDCOM))->GetCurSel(); 
    sendportsel=+1; 
    str.Format("%d",sendportsel); 
    MessageBox(str); 
      

  6.   

    你的combobox控件响应CBN_SELCHANG消息时
    GetCurSel得不到正确的索引号
    其它控件消息(比如按钮点击时)用GetCurSel方法得,能正确得出的
      

  7.   

    你的下拉框中是不是还没有东西要先AddString(),然后才能GetCurSel()
      

  8.   

    我的下拉框在设计资源的时候就已经初始化好了,不用在用ADDSTRING的方法去添加选项了。