需求是MFC的CListCtrl控件上添加一个按钮,并添加按钮点击事件
遇到的问题是,向BEGIN_MESSAGE_MAP中添加事件,由于创建按钮的父类是CListCtrl,不是Dialog,导致点击事件不触发。现在的实现代码如下:
插入按钮,nAxisList是CListCtrl控件,IDC_DYNAMIC_BUTTON 为按钮统一标识符
CRect rect;
UINT uStyle = BS_PUSHBUTTON | WS_VISIBLE | WS_CHILD | WS_TABSTOP;
nAxisList.GetSubItemRect( nRowIndex, 10, LVIR_BOUNDS, rect );
CButton* nAxisOn = new CButton();
nAxisOn->Create( _T( "开启使能" ), uStyle, rect, &nAxisList, /*nRowIndex * 100 + 10*/ IDC_DYNAMIC_BUTTON );
按钮点击事件
BEGIN_MESSAGE_MAP( Dlg, CDialogEx )
ON_BN_CLICKED( IDC_DYNAMIC_BUTTON, &Dlg::OnClickAxis )
END_MESSAGE_MAP()