zoukankan      html  css  js  c++  java
  • 使用C++11安全的在线程中控制UI

    本篇文章由:http://www.sollyu.com/using-the-c11-secure-online-process-control-ui/

    说明

    首先这里使用的是 Visual Studio 2015, 主要是它支持的C++11更好,其它的我就没有去研究了,想必 Visual Stuido 2010 也差不多吧。

    步奏

    1. 创建一个MFC对话框工程

    2. 绘画界面如下图

      使用C++11安全的在线程中控制UI

    3. 添加变量

      使用C++11安全的在线程中控制UI

    4. 添加事件代码

    代码

    添加头文件#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( "完成
     http://www.sollyu.com 
     欢迎光临" ), _T( "提示" ), MB_ICONINFORMATION );
        } );
    
        /* 将子线程从主线程里分离,子线程执行完成后会自己释放掉资源 */
        t.detach();
    }
    

    截图

    使用C++11安全的在线程中控制UI

  • 相关阅读:
    认证-权限-频率组件
    视图组件
    序列化类
    解析模块
    异常模块
    响应模块分析
    请求模块分析
    cbv请求分析
    django中的restful规范
    web接口与restful规范
  • 原文地址:https://www.cnblogs.com/sollyu/p/4186245.html
Copyright © 2011-2022 走看看