今天是我在弄实时视屏的过程中遇到了很多问题
1.首先是多线程的使用,在线程中处理数据
(1条消息)vs2010 mfc c++ 多线程 - cyuyan的专栏 - CSDN博客
https://blog.csdn.net/cyuyan112233/article/details/51475331
2.我在两个图片控件上先是实时视屏的时候发现总是在打开视屏之后,其他的控件与界面都动不了了,最后看了下面这篇博客发现是MFC本身设置的问题,在显示时需要使用到定时器.
在mfc中利用opencv打开摄像头并显示在窗口上 - duhuzhen的博客 - CSDN博客
https://blog.csdn.net/duhuzhen/article/details/53133927
3.定时器的学习与使用
MFC中OnTimer定时器用法 - 净无邪博客 - CSDN博客
https://blog.csdn.net/naibozhuan3744/article/details/78554198
MFC中定时器OnTimer函数的使用 - 心-无可取代 - CSDN博客
https://blog.csdn.net/qq_33723441/article/details/54599022
OnTimer()函数用于实现控制功能,主要有三个函数实现的
SetTimer(窗口句柄,定时器ID ,时间间隔,回调函数)
(1)SetTimer():设置一个定时器开始执行计时器
(2)KillTimer():停止计时器
(3)OnTimer():是计时器所执行的代码
4.在数据处理时有提示对话框,但是他会柱塞线程,于是需要对话框提示定时消失
(1条消息)MFC之MessageBox用法 - jilong17的专栏 - CSDN博客
https://blog.csdn.net/jilong17/article/details/6943755
(1)第一种方法
(1条消息)弹出MessageBox并延迟一段时间后自动关闭的一种方法 - zheqingzheqing的博客 - CSDN博客
https://blog.csdn.net/zheqingzheqing/article/details/51855274
(2)第2种方法
(1条消息)定时消失的对话框API函数 – MessageBoxTimeout - Floydwish的博客 - CSDN博客
https://blog.csdn.net/brunomarss/article/details/53928489
(3)第3种方法
VC 定时自动关闭MessageBox弹出对话框_天路_新浪博客
http://blog.sina.com.cn/s/blog_5eea91750100oskt.html
我使用的是第三种方法,简单方便。
在需要使用的cpp文件中添加以下代码
// 添加MessageBoxTimeout支持
extern "C"
{
int WINAPI MessageBoxTimeoutA(IN HWND hWnd, IN LPCSTR lpText, IN LPCSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds);
int WINAPI MessageBoxTimeoutW(IN HWND hWnd, IN LPCWSTR lpText, IN LPCWSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds);
};
#ifdef UNICODE
#define MessageBoxTimeout MessageBoxTimeoutW
#else
#define MessageBoxTimeout MessageBoxTimeoutA
#endif
在需要使用的地方调用函数
// 设置1000ms自动关闭该提示对话框
MessageBoxTimeout(NULL,"检测不到圆","提示",MB_OKCANCEL,0,1000);