• UIThread


    功能如下:点击Create则新创建一个窗口

    一 . 资源中添加对话框,右键添加类MyDlg

    双击初始对话框中的按钮,实现按钮功能:点击则创建一个对话框

        CMyDialog* pDialog  = new CMyDialog;
        pDialog->Create(IDD_DIALOG1);
        pDialog->ShowWindow(SW_SHOW);//非模态,可以移动后面

    但这种方式,创建出来的对话框,一个崩掉,就全体瘫痪,因为是单线程

    二 . 在类视图新建一个类MyThread,继承自CWinThread

    CWinApp类就是继承自CWinThread,pMainWnd指针(线程主窗口)指向对话框,将对话框和主线程连接起来

    仿照主窗口和主线程,写一个我们自己的UIThread

    在CWinThread类中

    BOOL CMyThread::InitInstance()
    {
        CMyDlg dlg;
        m_pMainWnd = &dlg;
        INT_PTR nResponse = dlg.DoModal();
        return TRUE;
    }

    创建用户界面线程:AfxBeginThread()//窗口没了,线程就没了,

              相当于创建了一个线程,在线程执行的函数中,创建了一个窗口,比如:MyDlg dlg;   dlg.DoModal();

    进程优先级:-30 ~ 30

    三 . 当点击窗口右上角的关闭标识的时候,1>WM_CLOSE 2>WM_DESTROY 3>WM_QIUT

    对话框关闭,EndDialog()

    Dialog继承自Cwnd

    PostThreadMessage:向线程发消息

    用户界面线程(UI线程)与工作者线程的区别:工作者线程没有消息对列。

    ????SendMessage和PostMessage

    ????窗口和线程  ,AfxBeginThread()进入

  • 相关阅读:
    java生成UUID通用唯一识别码 (Universally Unique Identifier)
    使用ToolRunner运行Hadoop程序基本原理分析
    Hadoop入门经典:WordCount
    Hadoop配置文件
    【Nutch2.2.1基础教程之3】Nutch2.2.1配置文件
    8大排序算法图文讲解
    动态字典树_前缀相互查找(HDU_1671)
    DP_基本DP+排序(HDU_1421)
    斯特灵公式
    七种 qsort 排序方法
  • 原文地址:https://www.cnblogs.com/Lune-Qiu/p/8401609.html
Copyright © 2020-2023  润新知