关于ComboBox的问题 我的ComboBox的样式是DropDown的,假设下拉列表中有一项"abc",当我手工输入"abc"后,用GetCurSel获得的结果却是CB_ERR。请问当我输入时,如果让ComboBox自动对应到下拉列表中的选项? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //向组合框中列表框添加文本 m_ctrlComboBox.AddString(_T("Monday")); m_ctrlComboBox.AddString(_T("Tuesday")); m_ctrlComboBox.AddString(_T("Wednesday")); m_ctrlComboBox.AddString(_T("Thurday")); m_ctrlComboBox.AddString(_T("Friday")); m_ctrlComboBox.AddString(_T("Saturday")); m_ctrlComboBox.AddString(_T("Sunday")); //设置组合框当前选择项 m_ctrlComboBox.SetCurSel(0);//判断序号,再SetCurSel(n); 楼上没理解我的意思,如果我手工输入"Friday",我希望GetCurSel能返回给我4,而不是CB_ERR(未选择) GetWindowText 获取输入字符串FindString 进行匹配 int index;CString text;// 获取 Edit 控件文本m_ComboBox.GetWindow(GW_CHILD).GetWindowText(text);// 查找文本完全符合项的索引index = m_ComboBox.FindStringExact(text.GetBuffer(MAX_PATH)); // 查找文本完全符合项的索引index = m_ComboBox.FindStringExact(-1, text.GetBuffer(MAX_PATH)); 当你在输入时,可以捕捉Editchange,即你输入的内容。然后再用FindString()匹配就可以了 我在vc6下按f就直接定位到Friday了没给我输入的机会唉 获取你输入到com控件上的文字 然后匹配已有的下拉内容。如果匹配上了你就调用SetCurSel()就可以了 面试题20岁的时候家庭有4人。//应该是3个人吧???? 在单文档程序中,CTestApp如何获取CTestView对像的句柄? 请问一个应用程序分离打包成.cab文件 如果知道快捷方式名获取对应的exe文件的路径 如何放大显示bitmap? 求问电信adsl绑定网卡时如何实现共享上网? 正则表达式该如何最快地解析出网页源码中的所有链结网址和链结文本 字体如何序列化 如何知道一个应用程序中某一变量的地址? 如何做一个窗口,只显示我画的东西,不显示框架; 如何获取打印机HANDLE FastDB浏览器设计
m_ctrlComboBox.AddString(_T("Monday"));
m_ctrlComboBox.AddString(_T("Tuesday"));
m_ctrlComboBox.AddString(_T("Wednesday"));
m_ctrlComboBox.AddString(_T("Thurday"));
m_ctrlComboBox.AddString(_T("Friday"));
m_ctrlComboBox.AddString(_T("Saturday"));
m_ctrlComboBox.AddString(_T("Sunday")); //设置组合框当前选择项
m_ctrlComboBox.SetCurSel(0);//判断序号,再SetCurSel(n);
FindString 进行匹配
CString text;
// 获取 Edit 控件文本
m_ComboBox.GetWindow(GW_CHILD).GetWindowText(text);
// 查找文本完全符合项的索引
index = m_ComboBox.FindStringExact(text.GetBuffer(MAX_PATH));
index = m_ComboBox.FindStringExact(-1, text.GetBuffer(MAX_PATH));
没给我输入的机会唉
如果匹配上了你就调用SetCurSel()就可以了