hur.cn - 华软网

 热门搜索

vc如何让两个下拉列表框联动

  作者:未知    来源:网络    更新时间:2011/1/11
数据库中猎取到用户名和用户组 我想在“用户名”列表框选择时 “用户组”下拉列表框自动选择对应用户组 selendok函数以下
C++">void CUserGroups::OnSelendokUserName() 
{
 // TODO: Add your control notification handler code here
 CUsers user;
 CString str;
 m_CombxUserName.GetLBText(m_CombxUserName.GetCurSel(),str);
//这是根据用户名str查询信息
 user.GetData(str);
//这是猎取用户str对应的用户组
 user.GetUserGroup();
//下边应该怎么写呢?
}

---华软 网友回答---
用户组联系关系的CComboBox::ResetContent()先清空原来的内容,然后再加入新的东西
CComboBox::AddString();
---华软网友回复---
我只实现过LISTBOX滚动条联动……
---华软网友回复---
或直接setwindowtext()
---华软网友回复---
用户组联系关系的CComboBox::ResetContent()先清空原来的内容,然后再加入新的东西
CComboBox::AddString();
---华软网友回复---
引用 1 楼 visualeleven 的回复:
用户组联系关系的CComboBox::ResetContent()先清空原来的内容,然后再加入新的东西
CComboBox::AddString();

这实际上是个给用户分配用户组的对话框,被选择用户名时,用户组下拉列表框自动选择此用户对应的用户组,但能够手动选择其它用户组,确定之后就更改用户组了,所以不能清空原来的内容,求教该怎么办呢?
---华软网友回复---
SetCurSel 设置选中行
SetFocus设置焦点
---华软网友回复---
Combox1有选项A B C
Combox2对应A B C的内容不同,则Combox2::ResetContent();Combox2::addstring
如果Combox2对应A B C内容相同,选项不同。则SetCursel()
C++">
void CSetDlg::OnSelchangeCombo3() 
{
// TODO: Add your control notification handler code here
int n=m_ComboSplit1.GetCurSel();
CString str;
m_ComboSplit1.GetLBText(n,str);
if (str=="是其余字符")
{
GetDlgItem(IDC_EDIT6)->ShowWindow(0);
GetDlgItem(IDC_STATIC_DAO)->ShowWindow(0);
for (int i=m_ComboSplit2.GetCount()-1;i>=0;i--)
m_ComboSplit2.DeleteString(i);
m_ComboSplit2.InsertString(0,"包括");
m_ComboSplit2.InsertString(1,"不包括");
m_ComboSplit2.SetCurSel(0);
}
else
{
for (int i=m_ComboSplit2.GetCount()-1;i>=0;i--)
m_ComboSplit2.DeleteString(i);
m_ComboSplit2.InsertString(0,"大于");
m_ComboSplit2.InsertString(1,"等于");
m_ComboSplit2.InsertString(2,"小于");
m_ComboSplit2.InsertString(3,"介于(不等于)");
m_ComboSplit2.SetCurSel(0);

UpdateData(TRUE);
GetDlgItem(IDC_STATIC_DAO)->ShowWindow(0);
GetDlgItem(IDC_EDIT6)->ShowWindow(0);
m_edit5="";
UpdateData(FALSE);
}
}




---华软网友回复---
灌个水: http://yungmode.gicp.net  交流,共享电子书的平台^_^.
---华软网友回复---
引用 7 楼 gudufuyun 的回复:
Combox1有选项A B C
Combox2对应A B C的内容不同,则Combox2::ResetContent();Combox2::addstring
如果Combox2对应A B C内容相同,选项不同。则SetCursel()

C/C++ code

void CSetDlg::OnSelchangeCombo3() 
{
    // TODO: Add your c……


谢谢,我借鉴了你的代码中的for循环,问题解决了!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。