vc在一个组合框里的内容是另一个组合框的条件,代码怎么写

解决方案 »

  1.   

    在第一个组合框OnSelChange函数中处理第二个组合框的内容
      

  2.   

    同意楼上 调用SetItemData可能就是楼主想要的效果
      

  3.   

    DWORD dwSel;// Set the selection to be all characters after the current selection.
    if ((dwSel=pmyComboBox->GetEditSel()) != CB_ERR)
    {
       pmyComboBox->SetEditSel(HIWORD(dwSel), -1);
    }
      

  4.   

    可以对ComboBox控件通过ClassWizard添加消息响应CBN_SELCHANGE
    对应函数
    void CXXXDilog::OnSelchangeXXX()
    {
    int i;
    CWnd *pWnd;
    CComboBox *pCombo;
    pWnd = GetDlgItem(IDC_YYYY);
    pCombo = (CComboBox *)pWnd;
    i = pCombo->GetCurSel();}
     
    IDC_YYYY对应你想要通过此控件控制的那个ID号
    i 返回IDC_YYYY当前的内容。然后可以通过控件的ResetContent()清除现有选项
      

  5.   

    不好意思是这样的连接SQLServer数据库
    1.Combo1的内容为中国
    2.Combo2的内容就自动连接数据库显示省份
      

  6.   

    不好意思是这样的连接SQLServer数据库
    1.Combo1的内容为中国
    2.Combo2的内容就自动连接数据库显示省份
      

  7.   

    响应Selchange
    查询
    填入另一个组合框
      

  8.   

    响应Combo1的CBN_SELCHANGE通知,当选择改变时,将Combo2清空并重新添加对应的内容。
      

  9.   

    在表示国家的Combo1中处理SelChange,通过GetLBText获得当前所选的字符串,然后用这个字符串作为条件查询数据库,得到的数据AddString到Combo2中
    CString strCurSel;
    int nCurSel = Combo1.GetCurSel();
    Combo1.GetLBText(nCurSel,strCurSel); //通过GetLBText获得当前所选的字符串//查询数据库

    如果找到,得到一条就AddString,
    //查询结束在选择发生变化时,可能还需要将以前Combo2的内容清空DeleteString:
    for (int i=0;i < Combo2.GetCount();i++)
    {
       Combo2.DeleteString( i );
    }
      

  10.   

     
       添加一个组合框的对象的CBN_SELCHANGE 消息函数往 此消息函数中添加下面类似的代码。    
     
        CComboBox m_ctrComboboxA,m_ctrComboBoxB;
         CString strA,strB;
         m_ctrComboboxA.GetLBText(m_ctrComboboxA.GetCurSel(),m_strA);
         if(m_strA=="条件值")
         {
          m_ctrComboBoxB.AddSting("需要加入的值");
         }