首页 > 代码库 > 使用C++11安全的在线程中控制UI
使用C++11安全的在线程中控制UI
本篇文章由:http://www.sollyu.com/using-the-c11-secure-online-process-control-ui/
说明
首先这里使用的是 Visual Studio 2015
, 主要是它支持的C++11更好,其它的我就没有去研究了,想必 Visual Stuido 2010
也差不多吧。
步奏
-
创建一个MFC对话框工程
-
绘画界面如下图
-
添加变量
-
添加事件代码
代码
添加头文件#include <thread>
, 在按钮事件
中添加代码
void CMFCApplication1Dlg::OnBnClickedButtonStart() { m_wndProgress.SetRange( 0, 99 ); m_wndProgress.SetStep( 1 ); m_wndProgress.SetPos( 0 ); /* 创建一个线程 */ std::thread t( [=] { for ( size_t i = 0; i < 100; i++ ) { m_wndProgress.SetPos( i ); /* 为了更好体验在线程 */ Sleep( 10 ); } /* 在UI线程中显示对话框 */ MessageBox( _T( "完成\n http://www.sollyu.com \n 欢迎光临" ), _T( "提示" ), MB_ICONINFORMATION ); } ); /* 将子线程从主线程里分离,子线程执行完成后会自己释放掉资源 */ t.detach(); }
截图
使用C++11安全的在线程中控制UI
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。