MFC下使用cvSetMouseCallback()的小结
来源:互联网 发布:胜通软件使用方法 编辑:程序博客网 时间:2024/06/05 13:27
网上有很多针对于MFC下使用cvSetMouseCallback()这个函数的说明,但是大部分让人读了,还是不懂怎么去做,所以我在这里小结一下,希望对其他人有帮助。
1、使用时出现error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from 'void (__cdecl *)(int,int,int,int)' to 'CvMouseCallback'
当然,这个的解决帮法是把回调函数写成静态:
static void on_mouse(int event, int x, int y, int flags, void *param);
注意cvSetMouseCallback()函数不要动,只需在添加on_mouse函数时,声明成静态即可。
2.在on_mouse函数中访问非静态成员会出错,因为静态方法中只能访问静态成员。这个问题有好几个办法解决
方法一:把需要使用的非静态成员也声明成静态
方法二:如下面例子
void CMyDlg::on_mouse( int event, int x, int y, int flags, void* param )
{
CMyDlg* temp= (CMyDlg*) param;
//这句话很关键,通过on_mouse的最后一个参数传递CMyDlg的对象指针,注意CMyDlg
//是你工程中的窗口名,要改成你的类名
temp->chek_cut_state=1;
// 通过temp指针访问非静态成员,chek_cut_state是我在CMyDlg类中跟on_mouse
//声明义的非静态变量。同样,访问其他成员都要在前面加上 temp->
··········
}
- MFC下使用cvSetMouseCallback()的小结
- MFC下使用cvSetMouseCallback()的小结
- MFC下使用cvSetMouseCallback
- 2014年4月10日 MFC下使用cvSetMouseCallback()
- cvSetMouseCallback使用
- MFC中使用cvSetMouseCallback对图片进行裁剪
- VS2008的环境下,使用MFC和MSChart小结
- VS2008的环境下,使用MFC和MSChart小结
- OpenCV中响应鼠标信息cvSetMouseCallback函数的使用
- cvSetMouseCallback( "img", on_mouse, NULL);on_mouse回调函数在MFC中的使用
- OpenCV响应鼠标函数cvSetMouseCallback()和其副程式onMouse()的使用(OpenCV2.4.5)
- MFC使用小结(二)CTreeView的麻烦
- 关于MFC CWND::Invalidate()使用的小结
- MFC CListCtrl 使用小结
- 近期MFC使用小结
- MFC新手使用小结
- 非MFC工程使用MFC库小结
- MFC 虚列表使用小结
- (转)树状数组
- wince下Ras拨号
- HIVE Indexex 索引
- C++ Scoket编程
- ArcGis卸载方法
- MFC下使用cvSetMouseCallback()的小结
- hdu 1011 Starship Troopers 简单树形DP
- 做人的底线如果你经历过你会流泪
- 在X64oracle服务器上增加X86客户端for Web
- (转)windows下fopen遇到文件限制的解决方法
- grep多个关键字“与”和“或”
- 24券创始人杜一楠的失败检讨书:我的“孩子”是如何死去的?
- thrift源码研究-TProtocol类体系架构分析
- 深入浅出MIPS 三 MIPS的协处理器CP0