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
应该怎么做?多谢了
请说详细点,我想要具体代码
展开
 我来答
一超独大
2011-06-07 · TA获得超过819个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:262万
展开全部
两种方法。
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()判断是哪一个数值。
这种方法对自动排序/不自动排序均适用。但对于项数多的情况要一个一个判断,效率比较低,不推荐使用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yueyuan_692
2011-06-07 · 超过34用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:93.2万
展开全部
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;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnf1980
2011-06-07 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:54%
帮助的人:2585万
展开全部
Search “MFC” pls!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式