MFC 控制"CVSListBox" - 如何使用接口"AddButton"?

MFC Control "CVSListBox" - How to use the interface "AddButton"?

本文关键字:接口 AddButton 何使用 控制 CVSListBox MFC      更新时间:2023-10-16

有没有人可以教我如何使用界面的"AddButton"的MFC控制?"CVSListBox"?我编写了下面的代码,新的按钮成功地显示在控件上,但是我不能响应它的ON_BN_CLICKED事件。你能告诉我为什么吗?谢谢。

    ON_BN_CLICKED(IDC_BTN_AWSPORTIMPORT, &CPgTestAwsPortfolio::OnBnClickedBtnAwsportimport)
    void CPgTestAwsPortfolio::OnBnClickedBtnAwsportimport()
    {
        int xx = 100;
    }
CPortCaseListBox m_lbAwsPortCases;
    m_pgTestAwsPort.m_lbAwsPortCases.AddButton(IDB_AFXBARRES_NEW, _T("Import"), 0, 0, IDC_BTN_AWSPORTIMPORT);

这里的想法不同。所有的按钮都在CVSListBox类内部处理。

参见CVSListBoxBaseBase::OnCommand覆盖。

  1. 当按钮发送WM_COMMAND时,它被CVSListBoxBaseBase::OnCommand拦截
  2. 当id是list控件内部按钮列表的成员时,执行OnClickButton虚函数。
  3. GetButtonID可以帮助您将位置转换为ID。

OnClickButton接收的是按钮的编号,而不是id。

所以父类永远不会收到这个按钮的任何通知。这些都是在CVSListBox的虚函数中处理的。

文档是不完整的,因为基类没有被描述和文档化。