【MFC】通过其他控件改变CComboBox下拉框中的数据

本文介绍了如何在MFC应用程序中,通过CListCtrl控件的事件响应更新CComboBox控件的下拉选项。当CListCtrl中的数据发生变化时,触发LVN_ITEMCHANGED事件,获取列表的行数并更新CComboBox的选项。同时,处理CComboBox的CBN_SELCHANGE事件,确保下拉框中的行数与列表同步。全局变量m_line用于存储列表的行数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里我总结一下我的问题:两个子界面A、B。在A中的CListCtrl控件上添加一行数据,同时在B里边的CComboBox控件下拉框中显示相应的行数。

1、添加事件处理函数,消息类型为LVN_ITEMCHANGED

void CDlg2::OnLvnItemchangedList1(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
    UpdateData(TRUE);
    // TODO: 在此添加控件通知处理程序代码
    if (LVIF_STATE == pNMLV->uChanged  &&  (pNMLV->uNewState & LVIS_FOCUSED) &&(pNMLV->uNewState & LVIS_SELECTED))
    {
        m_line = m_ListCtrl_Report.GetItemCount();       //列表的行数 
    }
    *pResult = 0;
    //UpdateData(FALSE);
}

其中LVN_ITEMCHANGED通知响应多次,只要 

 if (LVIF_STATE == pNMLV->uChanged  && (pNMLV->uNewState & LVIS_FOCUSED) &&(pNMLV->uNewState & LVIS_SELECTED)

{

           ......

}

2、添加CComboBox点击事件处理函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值