MFC自带控件CComboBox实现搜索输入是的动态下拉功能
2017-05-11 18:55
639 查看
1、窗口拖动combobox控件,修改属性为DropDown;
2、关联CComboBox变量m_combobox;
3、添加ON_CBN_EDITCHANGE(IDC_COMBO_EFFECT_NEW, &CDlgLineGuideEdit::OnCbnEditchangeComboEffectNew),用于监视编辑框内容的修改;
4、在OnCbnEditchangeComboEffectNew中做如下操作:
4.1、更新combobox下拉菜单中的内容。
4.2、(!非常重要),CComboBox::ShowDropDown会隐藏系统光标,因此需要设置此时的光标。
::SetCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDC_ARROW)));
4.3、调用CComboBox::ShowDropDown()。
备注:
1、注意CComboBox::ShowDropDown时设置光标,否则光标不可见。
2、如果首次修改时,combobox在整个窗口的比较考下的位置,而导致“修改下来菜单”显示在combobox编辑框的上方,修改后的内容比较少,会导致下来菜单漂游在combobox比较远的位置(好像是内容变了,但是下拉菜单的位置没有变)。可以通过BOOL CComboBox::SetMinVisibleItems(_In_ int iMinVisible)来触发combobox控件自身更正下拉菜单的位置
2、关联CComboBox变量m_combobox;
3、添加ON_CBN_EDITCHANGE(IDC_COMBO_EFFECT_NEW, &CDlgLineGuideEdit::OnCbnEditchangeComboEffectNew),用于监视编辑框内容的修改;
4、在OnCbnEditchangeComboEffectNew中做如下操作:
4.1、更新combobox下拉菜单中的内容。
4.2、(!非常重要),CComboBox::ShowDropDown会隐藏系统光标,因此需要设置此时的光标。
::SetCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDC_ARROW)));
4.3、调用CComboBox::ShowDropDown()。
备注:
1、注意CComboBox::ShowDropDown时设置光标,否则光标不可见。
2、如果首次修改时,combobox在整个窗口的比较考下的位置,而导致“修改下来菜单”显示在combobox编辑框的上方,修改后的内容比较少,会导致下来菜单漂游在combobox比较远的位置(好像是内容变了,但是下拉菜单的位置没有变)。可以通过BOOL CComboBox::SetMinVisibleItems(_In_ int iMinVisible)来触发combobox控件自身更正下拉菜单的位置
相关文章推荐
- AngularJS:实现动态添加输入控件功能
- AngularJS:实现动态添加输入控件功能(转)
- Android 控件 -------- AutoCompleteTextView 动态匹配内容,例如 百度搜索提示下拉列表功能
- AngularJS:实现动态添加输入控件功能
- AngularJS实现动态添加输入控件功能
- AngularJS实现动态添加输入控件功能
- jQuery实现动态搜索显示功能
- 利用Coolite控件打造 简单的动态搜索功能。
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- ASP.NET中服务器控件Button调用javascript代码运用正则表达式验证TextBox中输入的是否为正整数或正小数,符合要求则继续运行服务器端代码功能的实现
- 可输入的下拉列表(带搜索功能)
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- 利用附件上载控件+Javascript实现动态上传附件功能
- 仿MFC实现c++的按名动态创建对象功能
- [VC/MFC]使用CTabCtrl控件实现属性页功能
- 用回车键实现MFC对话框中TAB键控制输入焦点在控件中跳转的效果
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- 运用ajax实现仿谷歌搜索输入提示功能(c#)
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中