菜鸟刚开始学习c++,使用VC++6.0时,使用combo box控件,在其data属性中添加了1~12,双击控件,添加void CSerialPortTestDlg::OnEditchangeCOMBOList() 事件,运行程序时,直接从下拉框中选择1~12无法进入OnEditchangeCOMBOList函数,只有输入数字时才可以进入这是为什么,请各位大侠赐教。!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    你用键盘输入字符才会有这个事件。你要响应CBN_SELCHANGE
      

  2.   

    如楼上说的一样,如果你响应了CBN_EDITCHANGE,那么你只要在编辑框中输入就会进到这个消息中。如果你响应了CBN_SELCHANGE,那么当你选择下拉的内容完成后就会进到这个消息。。其他的还有如CBN_DROPDOWN,这个是一点中下拉的箭头就会进到这个消息。。还有CBN_KILLFOCUS等等其他的。自己上MSDN上看看巴
      

  3.   

    谢谢大家了,现在这个问题是已经解决了,现在我用CBN_SELCHANGE这个时间,可以进入,代码如下
    void CSerialPortTestDlg::OnSelchangeCOMBOList() 
    {
    // TODO: Add your control notification handler code here
    int temp_num_change; UpdateData(TRUE);//读入编辑框中的数据 //UpdateData(FALSE); 
    temp_num_change = atoi(m_list_num);//m_list_num 为绑定的变量

    if((temp_num_change > 8) || (temp_num_change <= 0))
    {
    MessageBox("最大保存8组数据");
    }

    }
    我现在选择以后无论是用UpdateData(TRUE、FALSE),m_list_num都一直是‘0’,可以确定绑定的变量没有错,因为在editchange时可以正确的使用