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

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);//此函数是默认的响应操作,放到最后一行即可

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值