有没有人可以教我如何使用界面的"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覆盖。
- 当按钮发送WM_COMMAND时,它被CVSListBoxBaseBase::OnCommand拦截
- 当id是list控件内部按钮列表的成员时,执行OnClickButton虚函数。 GetButtonID可以帮助您将位置转换为ID。
OnClickButton接收的是按钮的编号,而不是id。
所以父类永远不会收到这个按钮的任何通知。这些都是在CVSListBox的虚函数中处理的。
文档是不完整的,因为基类没有被描述和文档化。