for (j = 0; j < dwBTDeviceFoundCount; j++)
{ //打印出找到的蓝牙设备名字m_ComboBox.SetCurSel(0);
void CBlueTooth::OnCbnSelchangeCombo1()
{
// TODO: Add your control notification handler code here
nmIndex = m_ComboBox.GetCurSel();
//CString str;
//str.Format(_T("%d"),nmIndex);
//MessageBox(str);
}
在Resource View目录下.rc里面Dialog单击右键,不要insert,选择Add Resource,然后点击new,可以看到新建的dialog,双击dialog可以添加相应的类,这样就可以自动生成相应的代码,不用手动添加,避免了错误。
也就是说,只有一个事件来同步线程,就不知道哪个线程先等到,所以会随机出现错误。可以设两个事件,在一个线程中Set另一个线程的事件,就把问题解决了。
这个错误是要在dialog界面可以设置下拉菜单的大小,一般我们不好看到下拉菜单的大小。选中combo box控件就可以看到有一个大框,那个就是下拉菜单的框,调大一点就解决了。
首先是双击combo box框,添加相应的代码。这个一点原来不知道,所以每次都是和第0个通信,和你选择第几个无关。如果第0个没有开启服务器,所以才有连接失败的错误。然后添加代码:
intIndex;
Index = m_ComboBox.InsertString(j,szNameAndMac);
//m_ComboBox.SetItemData(Index,dwBTDeviceFoundCount-j);
//记录是第几个进入的,将其ID设置一下,才能分局根据当前的选择知道选择了哪一个。注意这里不能用AddString函数,因为Add后不知道其进入的顺序,也就是说选择当前的和我们认为的进入的顺序不一样,已经自动排序了。
1. Go to 'Build > Clean Solution' 2. In the 'Solution Explorer' right click your project, and go to properties 3. Make sure the configuration at the top left is 'Debug' 4. Go to 'Linker > System > SubSystem' and change that to 'Not Set.' (If it's already set to 'Not Set' change it to 'Console.') 5. Rebuild your program, if it fails to compile that's fine. 6. Go back to 'Linker > System > SubSystem' and change it to what it previously was, and recompile. |