关于CComboBox动态插入字符串有两种方法:
1、AddString
用这种方法动态加入字符串有个问题:如果在控件属性Data中有Ctrl+Enter键留下的回车换行符,则在下拉字符串的顶部会多出一行空白行。
m_ctrRightSelect.AddString(_T("A"));
2、InsertString
用这种方法动态加入字符串也有个问题:如果在控件属性Data中有Ctrl+Enter键留下的回车换行符,则在下拉字符串的底部会多出一行空白行。
m_ctrRightSelect.InsertString(0, _T("A"));
如果将控件属性Data中Ctrl+Enter键留下的回车换行符删除,则不会出现空白行。
另外,如果运行程序后无法下拉控件字符串,则必须在编辑状态下调整下拉字符串的下拉范围。
如果在使用CComboBox时不让用户输入,只是选择,则将属性->style| type选为drop list即可。
如果想让CComboBox在默认情况下选择其中一下,可以用SetCurSel或者SelectString。
m_ctrRightSelect.SetCurSel(0);
m_ctrRightSelect.SelectString(-1,_T("your string"));
按照上述方法操作CComboBox后还不能让CComboBox中的下拉字符串实时更新,还必须在更新前添加代码:m_ctrRightSelect.ResetContent(); 重置下拉字符串。
更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn