C++中,怎么获取ComboBox选择的项目并修改相应数值
我用C++的窗体设计器在ComboBox的item写了(“10分”,“20分”,“30分”)想在选择“10分”后,数值time就等于10选20分时,time=20应该怎么...
我用C++的窗体设计器在ComboBox的item写了(“10分”,“20分”,“30分”)
想在选择“10分”后,数值time就等于10
选20分时,time=20
应该怎么做?多谢了
请说详细点,我想要具体代码 展开
想在选择“10分”后,数值time就等于10
选20分时,time=20
应该怎么做?多谢了
请说详细点,我想要具体代码 展开
3个回答
展开全部
两种方法。
1)设置0,1,2分别对应10,20,30.
2)从CComboBox中读取字符串,然后判断字符串的值,再赋值给time.
1)(推荐的方法)
首先设置CComboBox的属性为不自动排序。
然后初始化的时候这样写:
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("30分");
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("20分");
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("10分");
读取的时候这样:
UINT nSelected=((CComboBox*)GetDlgItem(你的CComboBox ID))->GetCurSel();
time=(nSelected+1)*10;
2)(Alternate method,not effecient)
UINT nSelected=((CComboBox*)GetDlgItem(你的CComboBox ID))->GetCurSel();
CString str;
((CComboBox*)GetDlgItem(你的CComboBox ID))->GetLBText(nSelected,&str);
然后用str.Compare()判断是哪一个数值。
这种方法对自动排序/不自动排序均适用。但对于项数多的情况要一个一个判断,效率比较低,不推荐使用。
1)设置0,1,2分别对应10,20,30.
2)从CComboBox中读取字符串,然后判断字符串的值,再赋值给time.
1)(推荐的方法)
首先设置CComboBox的属性为不自动排序。
然后初始化的时候这样写:
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("30分");
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("20分");
((CComboBox*)GetDlgItem(你的CComboBox ID))->AddString("10分");
读取的时候这样:
UINT nSelected=((CComboBox*)GetDlgItem(你的CComboBox ID))->GetCurSel();
time=(nSelected+1)*10;
2)(Alternate method,not effecient)
UINT nSelected=((CComboBox*)GetDlgItem(你的CComboBox ID))->GetCurSel();
CString str;
((CComboBox*)GetDlgItem(你的CComboBox ID))->GetLBText(nSelected,&str);
然后用str.Compare()判断是哪一个数值。
这种方法对自动排序/不自动排序均适用。但对于项数多的情况要一个一个判断,效率比较低,不推荐使用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString itemstr;
ComboBox.GetWindowText(itemstr);
int time = 0;
if (itemstr.Compare(_T("10分")))
{
time = 10;
}
else if (itemstr.Compare(_T("20分")))
{
time = 20;
}
else if (itemstr.Compare(_T("30分")))
{
time = 30;
}
else
{
time = -1;
}
ComboBox.GetWindowText(itemstr);
int time = 0;
if (itemstr.Compare(_T("10分")))
{
time = 10;
}
else if (itemstr.Compare(_T("20分")))
{
time = 20;
}
else if (itemstr.Compare(_T("30分")))
{
time = 30;
}
else
{
time = -1;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Search “MFC” pls!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询