本人在改良一个字体控件,此控件继承CCombox,需要实现的效果是,当在编辑框输入时:
1.下拉框会自动列出与输入内容局部匹配的条目
2.下拉框长度也要随显示的条目数自适应,不可出现空白条目。
目前已实现第1点,第2点不知道该如何实现,想寻求一下帮助
已实现效果如下图:
第1点的实现思路是:使用CCombox的消息映射宏ON_CONTROL_REFLECT_EX(CBN_EDITUPDATE, OnCbnEditUpdate),具体实现为:
BOOL CFontNameComboBoxEx::OnCbnEditchange()
{
CString strFontName;
CString strText;
GetWindowText(strText);
ResetContent();
//此处省略,获取匹配到的条目,并添加至下拉列表中
ShowDropDown(TRUE);
SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)));
SetWindowText(strText);
SetEditSel(strText.GetLength(), -1);
return FALSE;
}