http://vcprogramming.nease.net/tech/thread_2.htm
那位高手看一下。
请指点。
本人有以下不明白
在CExampleThread 的 头 文 件 中 填 加 如 下 变 量:            CMutexesDlg * m_pOwner;//指向类CMutexesDlg指针是不是在头文件加#include "MutexesDlg.h"
而在对话框中头文件是否需要加#include "ExampleThread.h" ,这样好像不对
还有创 建 类CWinThread 的 派 生 类CExampleThread 这很好办,
但是创 建 两 个 线 程 类CCounterThread 和CdisplayThread。 这 两 个 线 程 类 是CExampleThread 的 派 生 类。
是不是只能靠手工输入
class CCounterThread : public CExampleThread
{
public:
int Run();
};
还有就是整个消息传递过程在MutexesDlg初始化后,通过AfxBeginThread(RUNTIME_CLASS(CcomThread),THREAD_PRIORITY_NORMAL,0,0); //开线程
是不是设定为挂起,线程只是完成初始化。而没有执行run.
那位高手指点一下对话框上的控件与线程之间的交互如何设计。

解决方案 »

  1.   

    1,增加指针型变量
    CMutexesDlg * m_pOwner
    不需要包含头文件,只需要 class CMutexesDlg 就可以。2,“而在对话框中头文件是否需要加#include "ExampleThread.h"” 只有使用某一个类的实例的时候才需要包含头文件。3, 绝大多数情况下不采用 CWinThread 派生的方法,而是用worker thread============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    http://alphasun.betajin.com/   遇到问题可以给我发消息,给我发信息时请附带原帖地址
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
      

  2.   

    是不是只能靠手工输入
    class CCounterThread : public CExampleThread
    {
    public:
    int Run();
    };通过ClassWizard从CWinThread派生后,把CWinThread替换为CExampleThread就可以了。手工输入太麻烦了。