记录背景:
`最近公司转MFC开发新系统,这几个月从新手到深入学习MFC,有感记录一下所用的东西,方便以后查询(学过MFC都懂MFC的苦)
我的VS是2017专业版
问题描述
由于ListControl控件不好用,故项目里全用GridCtrl来实现表格的开发,还有很多功能慢慢再放上来,先放刚刚用的一个功能:
1,需要自定义控件GridCtrl绑定单击事件来实现人性化的操作,发现需要自己实现,有两种方法:
①绑定消息传递ON_NOTIFY来实现(下面贴代码)
②在自定义GridCtrl库里重写点击事件(以后再说)
在消息响应函数里加入ON_NOTIFY
形参1是MFC提供点击类型(我选的是双击,要用单击就将NM_DBLCLK替换为NM_CLCLK);
形参2是绑定GridCtrl控件名,我自己定义的名是IDC_CUST_AIS2;
形参3是自定义的函数,用来实现点击事件
BEGIN_MESSAGE_MAP(FeederAisleDlg, CDialogEx)
ON_NOTIFY(NM_DBLCLK,IDC_CUST_AIS2,&FeederAisleDlg::OnGrid2Click)//消息传递
END_MESSAGE_MAP()
对OnGrid2Click展开
FeederAisleDlg::是自己定义的类名,替换一下哈
NMHDR 是句柄,LRESULT是一个数据类型,具体自己百度一下哈,都有
//消息双击触发
void FeederAisleDlg::OnGrid2Click(NMHDR* pNMHDR, LRESULT* pResult)
{
*pResult = 0;
NM_GRIDVIEW *pItem = reinterpret_cast<NM_GRIDVIEW *>(pNMHDR);
if (NULL != pItem)
{
}
}
总结
至此,问题记录完毕,第一次记录,大家有什么不懂记得留言,我一直在哈,也可以大家交流以下问题,晚点我会把我的GridCtrl传上来