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 - 这是事件处理程序的实现。

链接:https://www.learnfk.comhttps://www.learnfk.com/mfc/mfc-combo-boxes.html

来源:LearnFk无涯教程网

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

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

Combobox Output

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

技术教程推荐

深入剖析Kubernetes -〔张磊〕

Java性能调优实战 -〔刘超〕

职场求生攻略 -〔臧萌〕

软件设计之美 -〔郑晔〕

跟着高手学复盘 -〔张鹏〕

数据分析思维课 -〔郭炜〕

超级访谈:对话张雪峰 -〔张雪峰〕

自动化测试高手课 -〔柳胜〕

云原生基础架构实战课 -〔潘野〕

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