MFC 中的 Combo Boxes函数

首页 / MFC入门教程 / MFC 中的 Combo Boxes函数

组合框由与静态控件或编辑控件组合的列表框组成,控件的列表框部分可能始终显示,或者仅在用户选择控件旁边的下拉箭头时才下拉。

这是Combobox控件的消息映射列表-

无涯教程网

MessageMap entry描述
CBN_DBLCLKON_CBN_DBLCLK( <id>, <memberFxn> )用户在组合框的列表框中双击一个字符串。
CBN_DROPDOWNON_CBN_DROPDOWN( <id>, <memberFxn> )组合框的列表框即将下拉(使其可见)。
CBN_EDITCHANGEON_CBN_EDITCHANGE( <id>, <memberFxn> )用户采取了可能已更改组合框的editcontrol部分中的文本的操作。
CBN_EDITUPDATEON_CBN_EDITUPDATE( <id>, <memberFxn> )组合框的编辑控件部分将显示更改的文本。
CBN_KILLFOCUSON_CBN_KILLFOCUS( <id>, <memberFxn> )组合框正在失去输入焦点。
CBN_SELCHANGEON_CBN_SELCHANGE( <id>, <memberFxn> )由于用户单击列表框或使用箭头键更改选择,结果将更改组合框列表框中的选择。
CBN_SETFOCUSON_CBN_SETFOCUS( <id>, <memberFxn> )组合框接收输入焦点。

让无涯教程通过创建一个新的基于MFC对话框的应用程序来研究单选按钮的示例。

步骤1 - 拖动一个组合框,然后删除"Static Text control"。

Remove Caption of Static Text

步骤2 - 为组合框添加控件变量m_comboBoxCtrl,为静态文本控件添加值变量m_strTextCtrl。

步骤3 - 添加事件处理程序以更改组合框的选择。

Combobox

步骤4 - 在OnInitDialog()中添加以下代码以加载组合框。

for (int i = 0; i<10; i++) {
   str.Format(_T("Item %d"), i);
   m_comboBoxCtrl.AddString(str);
}

步骤5 - 这是事件处理程序的实现。

void CMFCComboBoxDlg::OnCbnSelchangeCombo1() {
   
   //TODO: Add your control notification handler code here
   m_comboBoxCtrl.GetLBText(m_comboBoxCtrl.GetCurSel(), m_strTextCtrl);
   UpdateData(FALSE);
}

步骤6 - 编译并执行上述代码后,您将看到以下输出。

Combobox Output

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

如何设计一个秒杀系统 -〔许令波〕

Android开发高手课 -〔张绍文〕

全栈工程师修炼指南 -〔熊燚(四火)〕

互联网人的英语私教课 -〔陈亦峰〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

爆款文案修炼手册 -〔乐剑峰〕

eBPF核心技术与实战 -〔倪朋飞〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

Rust 语言从入门到实战 -〔唐刚〕

好记忆不如烂笔头。留下您的足迹吧 :)