当前位置: 代码迷 >> VC/MFC >> ComBox控件取舍波特率
  详细解决方案

ComBox控件取舍波特率

热度:112   发布时间:2016-05-02 03:34:50.0
ComBox控件选择波特率?
本帖最后由 VisualEleven 于 2015-10-16 10:17:02 编辑
各位大神,下面这段代码最后两句看不懂。能否帮忙解释一下
unsigned long BaudRate[16]={100,300,600,1200,2400,4800,9600,14400,19200,38400,56000,57600,115200,128000,256000,512000};
CComboBox*pmyComboBox1=(CComboBox*)GetDlgItem(IDC_COMBO1);
// Add 16 items to the combo box.
CString str;
for (int i=1;i<=16;i++)
{
str.Format("%d", BaudRate[i-1]);
pmyComboBox1->InsertString(i-1,str);
}
m_strBaudRate="9600";
pmyComboBox1->SetCurSel(6);//在编辑框内的缺省字符串(波特率)
//str_init_serial="9600,n,8,1";
str_init_serial=m_strBaudRate+",n,8,1";
int index=pmyComboBox1->FindString(-1,str);  //找到指定字符串的索引号
str.Format("%d",index);

------解决思路----------------------
引用:
各位大神,下面这段代码最后两句看不懂。能否帮忙解释一下
unsigned long BaudRate[16]={100,300,600,1200,2400,4800,9600,14400,19200,38400,56000,57600,115200,128000,256000,512000};
CComboBox*pmyComboBox1=(CComboBox*)GetDlgItem(IDC_COMBO1);
// Add 16 items to the combo box.
CString str;
for (int i=1;i<=16;i++)
{
str.Format("%d", BaudRate[i-1]);
pmyComboBox1->InsertString(i-1,str);
}
m_strBaudRate="9600";
pmyComboBox1->SetCurSel(6);//在编辑框内的缺省字符串(波特率)
//str_init_serial="9600,n,8,1";
str_init_serial=m_strBaudRate+",n,8,1";
int index=pmyComboBox1->FindString(-1,str);  //找到指定字符串的索引号
str.Format("%d",index);

int index=pmyComboBox1->FindString(-1,str);  //找到指定字符串的索引号, 就是用str中的字符串在控件中查找并返回位置
str.Format("%d",index); ,将位置转换成字符串
但你这程序中在赋值结束后,str中的值就是最后一个512000,因此如果返回成功str应该是15
------解决思路----------------------
Debug下F10单步执行一下看看就清楚了。~