MFC Control" CVSListBox" - 如何使用界面" AddButton"?

时间:2014-03-20 02:55:17

标签: c++ mfc

有没有人可以让我知道如何使用界面" AddButton" MFC控件? " CVSListBox&#34 ;?我编写了下面的代码,并且控件上的新按钮显示成功,但我无法响应其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);

1 个答案:

答案 0 :(得分:0)

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

参见CVSListBoxBaseBase :: OnCommand override。

  1. 当按钮发送WM_COMMAND时,它被CVSListBoxBaseBase :: OnCommand拦截
  2. 当id是ist的内部按钮列表的成员时,将执行虚函数OnClickButton。
  3. GetButtonID可能会帮助您将位置转换为ID。
  4. 注意OnClickButton接收按钮的编号,而不是id。

    因此父母从未收到任何关于此按钮的通知。它全部在CVSListBox的虚函数中处理。

    文档不完整,因为没有描述Base类和文档。