MFC中CComboBox在资源视图中宽度无法拉伸问题?

【前置条件】CComboBox选择Type的是Dorp List。

1 解决方】法如下图:

  1.1 操作步骤01】用鼠标点击前头1,然后再把鼠标放在前头2处,鼠标就会变成可拉申状态,操作即可。

                                                       

  1.2 操作步骤02】 编译并运行可执行程序,点击可执行程序的UI的如上图的1箭头位置,就可以看到下拉框宽改变了。

MFC,如果你想在对话框的CComboBox控件捕捉用户的Enter键事件,可以像之前提到的那样,利用自定义的消息处理函数。通常的做法是在CComboBox派生类重写`OnKeyDown`或`OnKeyUp`事件,然后检查输入的字符是否为回车。 以下是步骤: 1. 在`.h`头文件声明消息处理函数: ```cpp afx_msg void OnEditKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); ``` 2. 在`.cpp`文件实现该函数: ```cpp void YourDialogClass::OnEditKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if (nChar == VK_RETURN) { // 检查是否是回车键 // 在这里处理Enter事件,比如更新组合框选的项目 int index = m_CombineBox.GetCurSel(); if (index != CB_ERR) { // 执行你的业务逻辑,比如更新数据或显示提示信息 } // 这里可能需要防止默认的回车行为,例如关闭对话框 CDialog::EndModal(0); return; } // 如果不是回车键,将消息传递给基类处理 CDialog::OnEditKeyDown(nChar, nRepCnt, nFlags); } ``` 3. 在构造函数或初始化对话框资源时,连接这个事件: ```cpp CDialog* dialog = new YourDialogClass(this); // 使用对话框模板创建对话框实例 dialog->DoDataExchange(pDX); // 初始化对话框数据交换 dialog->OnInitDialog(); // 初始化对话框 // 绑定Enter事件到自定义函数 dlg.SetDlgItem(pDX, IDC_COMBOBOX_ID, &m_CombineBox); m_CombineBox.ConnectNotify(NM_KEYDOWN, &YourDialogClass::OnEditKeyDown); ``` 现在,当你在CComboBox按下Enter键时,`OnEditKeyDown`函数会被调用并执行相应的操作。记住,你需要替换`IDC_COMBOBOX_ID`为你实际的控件ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值