您的位置:首页 > 其它

MFC picture control响应单击、双击、右键

2017-01-12 20:44 162 查看
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);//此函数是默认的响应操作,放到最后一行即可


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: