高端定制网站的特点,快捷的网站建设排行榜,如何让新网站,网站设计制作的价格低廉刚接触MFC遇到的问题#xff0c;我在主对话框的.cpp里添加了表格的双击处理事件#xff0c;但是没用#xff0c;试了下添加单击的#xff0c;发现居然可以进单击的处理函数#xff0c;就很懵逼#xff0c;然后我就把处理双击事件的函数添加到表格的类中#xff0c;那这样…刚接触MFC遇到的问题我在主对话框的.cpp里添加了表格的双击处理事件但是没用试了下添加单击的发现居然可以进单击的处理函数就很懵逼然后我就把处理双击事件的函数添加到表格的类中那这样就会又有个问题我想在主程序这里去处理这个事件那我应该怎么做然后采用的是回调函数进行处理
在A类 .hpp 中添加
public: void setDoubleClick(functionvoid(NMHDR* pNMHDR, LRESULT* pResult) doubleClickCallBack); afx_msg void OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult); private: functionvoid(NMHDR* pNMHDR, LRESULT* pResult) m_doubleClickCallBack;
在A类 .cpp 中添加
void ExListCtrl::setDoubleClick(functionvoid(NMHDR* pNMHDR, LRESULT* pResult) doubleClickCallBack) { m_doubleClickCallBack doubleClickCallBack; }
void ExListCtrl::OnDblclkList2(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate reinterpret_castLPNMITEMACTIVATE(pNMHDR); if (m_doubleClickCallBack) { m_doubleClickCallBack(pNMHDR, pResult);//当表格被双击就调用 } *pResult 0; }
在主对话框类 .cpp 的OnInitDialog()中添加绑定 childList.setDoubleClick(std::bind(CmoldingSinglePieceAutoImportSheetDlg::OnDoubleClick_List2, this, std::placeholders::_1, std::placeholders::_2));
定义主对话框的处理双击函数并在头文件中声明
void CmoldingSinglePieceAutoImportSheetDlg::OnDoubleClick_List2(NMHDR* pNMHDR, LRESULT* pResult) { LPNMITEMACTIVATE pNMItemActivate reinterpret_castLPNMITEMACTIVATE(pNMHDR); // TODO: 在此添加控件通知处理程序代码 //已被双击 *pResult 0; }