MFC响应单击、双击、右键,不只是picture可以使用,其他控件也是类似用法
可以实现图片双击放大等特殊功能
添加消息响应函数
类视图-对话框类-右键类向导
图中从上往下6个依次为
左键双击、按下、抬起响应
中键双击、按下、抬起响应
右键在后面,是按字母排序的
选择要响应的操作,双击添加函数,进入到函数代码编辑
我选择的右键抬起响应,响应函数如下
void C枪支编码识别Dlg::OnRButtonUp(UINT nFlags, CPoint point)//右键抬起响应
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CPoint ptCursor;
GetCursorPos(&ptCursor);//获取鼠标位置
CRect rc;
GetDlgItem(IDC_STATIC)->GetWindowRect(&rc);
if (rc.PtInRect(ptCursor))//如果右键在picture control区域抬起则放大显示灰度图片
{
Mat tsrc = imread(srcimgname.c_str(), 0);
namedWindow("src", 2);
imshow("src", tsrc);
waitKey(0);
return ;
}
GetDlgItem(IDC_STATIC2)->GetWindowRect(&rc);
if (rc.PtInRect(ptCursor))//如果右键在picture control2区域抬起则放大显示二值化图片
{
Mat tsrc = imread(srcimgname.c_str(), 0);
threshold(tsrc, tsrc, erzhihua, 255, erzhihuatype);
namedWindow("src", 2);
imshow("src", tsrc);
waitKey(0);
return ;
}
CDialogEx::OnRButtonUp(nFlags, point);//此函数是默认的响应操作,放到最后一行即可
}