MFC中,怎么获取ComboBox的选中项 10
intno=m_BaudRate.InsertString(0,_T("9600"));//波特率m_BaudRate.SetItemData(B9600,(DWORD_...
int no = m_BaudRate.InsertString(0,_T("9600")); //波特率
m_BaudRate.SetItemData(B9600,(DWORD_PTR)&no);
no = m_BaudRate.InsertString(1,_T("19200"));
m_BaudRate.SetItemData(B19200,(DWORD_PTR)&no);
m_BaudRate.SetCurSel(0);
用int baud = m_BaudRate.GetCurSel();获取的是ComboBox选中项的下标,即0或1,我想获取到我定义的B9600或B19200,要怎么获取啊?还请高手指点一二~ 展开
m_BaudRate.SetItemData(B9600,(DWORD_PTR)&no);
no = m_BaudRate.InsertString(1,_T("19200"));
m_BaudRate.SetItemData(B19200,(DWORD_PTR)&no);
m_BaudRate.SetCurSel(0);
用int baud = m_BaudRate.GetCurSel();获取的是ComboBox选中项的下标,即0或1,我想获取到我定义的B9600或B19200,要怎么获取啊?还请高手指点一二~ 展开
5个回答
展开全部
也就是说这个9600是一个中间值,你选择的是第0项,而显示的是9600,而你要取的值却是b9600。如果是这的话我建议你使用map键值,使用9600做为键,B9600做为做,在你要获取B9600的时候,可以选获取选择的文本getwindowtext(),然后将文本转int型,再find函数查找int型,最后获取查找到的值。
MFC(MicrosoftFoundationClasses),同VCL类似,是一种ApplicationFramework,随微软Visual C++开发工具发布。MFC以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。该类库提供一组通用的可重用的类库供开发人员使用。大部分类均从CObject 直接或间接派生,只有少部分类例外。 其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
展开全部
用m_BaudRate.GetItemData(xxx);//xxx就是你要获得的第几个Item里的Data了。。
你这里好像用法不太对。。。SetItemData参数列表第一个参数应该是item的编号,后面那个才是数据,你定义的B9600或B19200应该存在参数列表的第二个变量里。。。。。
最好是说下你往这里放数据是为了做什么。。。
你这里好像用法不太对。。。SetItemData参数列表第一个参数应该是item的编号,后面那个才是数据,你定义的B9600或B19200应该存在参数列表的第二个变量里。。。。。
最好是说下你往这里放数据是为了做什么。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString text;
GetDlgItemText(IDC_COMBO1,text);
IDC_COMBO1是ComboBox控件的ID。获取的文本保存在text变量里。
GetDlgItemText(IDC_COMBO1,text);
IDC_COMBO1是ComboBox控件的ID。获取的文本保存在text变量里。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
GetLBText( index )
记得采纳
记得采纳
更多追问追答
追问
具体要怎么用,能讲详细点儿吗?
GetLBText()有两个参数:nIndex和lpszText
nIndex代表选中项的下标,可用 int baud = m_BaudRate.GetCurSel(); 获取
lpszText指向是接收该字符串的缓冲区,把取出来的选择项放在里面
我理解的对吗?
那么,取出来的选择项,到底是我在ComboBox中显示的9600或19200,还是我想要的 B9600 或 B19200 呢?
追答
CString temp
m_combox.GetLBText( index, temp);
应该就这样了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想获取定义的B9600或B19200在combobox中所在的下标位置 吗?
追问
比如:我选中了ComboBox的第0个项,即选中页面中显示出的“9600”
我希望在程序中,获取,该选择项(即“9600”)对应的----B9600;
#define B9600 0x0C
#define B19200 0x0D
然后,将获取的 B9600 放入sio_ioctl(int port, int baud, int mode); 中 的int baud。
所以,我需要获取的是 B9600 或 B19200,麻烦大家啦~
追答
也就是说这个9600是一个中间值,你选择的是第0项,而显示的是9600,而你要取的值却是b9600。如果是这的话我建议你使用map键值,使用9600做为键,B9600做为做,在你要获取B9600的时候,可以选获取选择的文本getwindowtext(),然后将文本转int型,再find函数查找int型,最后获取查找到的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询