利用ComboBox自带属性完成自动补全功能

        ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        ComboBox1.Items.Add("猪八戒")
        ComboBox1.Items.Add("刘忙")
        ComboBox1.Items.Add("猪九界")
        ComboBox1.Items.Add("王大锤")
        ComboBox1.Items.Add("叫兽")
        '向自定义源中添加数据
        ComboBox1.AutoCompleteCustomSource.Add("猪八戒")
        ComboBox1.AutoCompleteCustomSource.Add("刘忙")
        ComboBox1.AutoCompleteCustomSource.Add("猪九界")
        ComboBox1.AutoCompleteCustomSource.Add("王大锤")
        ComboBox1.AutoCompleteCustomSource.Add("叫兽")
        '设置使用自定义源作为自动完成的源
        ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Windows环境下使用C++开发时,ComboBox控件的自动补全功能通常是通过组合框(ComboBox)的自定义行为实现的。如果你希望取消ComboBox自动补全功能,可以通过设置组合框的样式或处理相应的消息来实现。 具体步骤如下: 1. **设置样式**:如果你使用的是原生Windows控件(如MFC中的CComboBox),可以通过设置组合框的样式来关闭自动完成。例如,在MFC中,可以设置组合框为`CBS_DROPDOWN`或`CBS_DROPDOWNLIST`样式,这样组合框将不会自动显示输入的文本,而只是显示下拉列表。 ```cpp // 假设m_ComboBox是CComboBox类型的成员变量 m_ComboBox.SetWindowText(_T("")); // 清空当前输入的文本 m_ComboBox.ModifyStyle(CBS_AUTOHSCROLL | CBS_DROPDOWNLIST, CBS_DROPDOWNLIST); ``` 2. **处理消息**:通过处理`CB_SIMPLE`消息也可以关闭自动补全功能。不过,通常情况下,使用样式设置更为直接和常见。 3. **阻止自动完成**:在某些情况下,你可能需要在运行时动态阻止自动完成功能,可以通过重写消息处理函数来实现。例如,可以通过处理`WM_NOTIFY`消息来判断并修改自动生成的自动完成字符串。 ```cpp // 假设处理的是CBN_EDITUPDATE通知代码 LRESULT CALLBACK MyComboBoxProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { if (message == CBN_EDITUPDATE) { // 获取组合框的编辑句柄 HWND hwndEdit = GetDlgItem(hWnd, 0); // 0通常是编辑控件的子控件ID // 修改编辑控件的样式或行为来阻止自动补全 // ... } // 调用默认的消息处理函数 return DefWindowProc(hWnd, message, wParam, lParam); } ``` 请注意,具体代码实现可能会根据你使用的库和开发环境有所不同。上述代码仅为示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值