比如点下下拉列表,然后随便选一个条目,我想获得的是你刚刚点的那个条目的文本。
我在各种消息相应函数里无论用GetDlgItemText还是GetWindowText还是GetLBText(GetCurSel()),获得的都是改变前的文本,怎么获取改变之后的文本呢?
虽然我现在用了一个timer延时100毫秒再获取文本的方法解决了这个问题,但我觉得这不是常规思路。
求常规思路。

解决方案 »

  1.   

    补充一下,我要的是在combobox在内容改变时执行代码,代码中需要combobox改变之后的文本
      

  2.   

    当选中CComboBox下拉框中的一项时,响应CBN_SELCHANGE函数。在这个消息的处理函数中GetLBText(GetCurSel())应该可以。
      

  3.   

    UpdateData(1);把界面上的数据输入到对应的变量中
    UpdateData(0);把对应的变量的值输出到界面上。
      

  4.   


    CString strPre,strNew;
    int nSel = m_comboBox.GetCurSel();
    m_comboBox.GetLBText(nSel,strNew);
    m_comboBox.GetWindowText(strPre);
    //m_comboBox是关联的控件变量