我创建了一个dialog,上面有一个ComboBox控件,两个ListBox控件。ComboBox有两项:规则一、规则二;
我希望当我选择其中一项,如“规则一”时,从数据库表中读出一些规则显示在ListBox1中;然后从选中ListBox1中某项,按添加,该项就可以加到ListBox2中;从ListBox二中选定一项按删除,就可以删除该项。但是现在有两个问题想请教大家:
1.怎样实现选中Combobox中一项,ListBox就会显示那些规则?代码我知道怎么写,主要是:代码添加在什么地方?
2.要返回ListBox中选定项的字符串,用哪个函数?返回ListBox中索引号为i的那项的字符串呢?(我定义了一个ListBox的control变量m_ListAll)。我查MSDN,也没查处个所以然,呵呵。
我希望当我选择其中一项,如“规则一”时,从数据库表中读出一些规则显示在ListBox1中;然后从选中ListBox1中某项,按添加,该项就可以加到ListBox2中;从ListBox二中选定一项按删除,就可以删除该项。但是现在有两个问题想请教大家:
1.怎样实现选中Combobox中一项,ListBox就会显示那些规则?代码我知道怎么写,主要是:代码添加在什么地方?
2.要返回ListBox中选定项的字符串,用哪个函数?返回ListBox中索引号为i的那项的字符串呢?(我定义了一个ListBox的control变量m_ListAll)。我查MSDN,也没查处个所以然,呵呵。
{
POSITION pos = m_ProcSelectList.GetFirstSelectedItemPosition();
if(!pos)
return; int nItem = m_ProcSelectList.GetNextSelectedItem(pos);
if(nItem<0||nItem>=m_ProcSelectList.GetItemCount())
return; char szFid[32];
m_ProcSelectList.GetItemText(nItem, 4, szFid, 32);}
CString strLeft,MyTemp;
CStringArray AllRightRule;
_variant_t Right;MySet->MoveFirst();
Right=MySet->GetCollect(_variant_t("IndexRight"));
Right.ChangeType(VT_BSTR);
strRight=Right.bstrVal;
AllRightRule.Add(strRight);
iCount=AllRightRule.GetSize();
MySet->MoveNext();
if(!MySet->EndOfFile)
{
int sign;
for(int i=0;i<iCount;i++)
{
sign=0;
Right=MySet->GetCollect(_variant_t("IndexRight"));
Right.ChangeType(VT_BSTR);
strRight=Right.bstrVal;
if(strRight==AllRightRule.GetAt(i))
{
sign=1;
break;
}
}
if(sign==0)
AllRightRule.Add(strRight);
iCount=AllRightRule.GetSize();
MySet->MoveNext();
}iCount=AllRightRule.GetSize();
for(int i=0;i<iCount;i++)
m_ListAll.AddString(AllRightRule.GetAt(i));