小弟我创建了一个线程类CRecThread (class CRecThread : public CWinThread) 想在此线程中 向DIALOG发消息 大家帮忙!
我创建了一个线程类CRecThread (class CRecThread : public CWinThread) 想在此线程中 向DIALOG发消息 大家帮忙!!
我创建了一个线程类CRecThread (class CRecThread : public CWinThread) 想在此线程中 向DIALOG发消息 大家帮忙!!
我的程序是个一个DIALOG 对话框程序,在对话框上的A按钮中有:
CRecThread* pRecThread=(CRecThread*)AfxBeginThread(RUNTIME_CLASS(CRecThread),THREAD_PRIORITY_HIGHEST,0,CREATE_SUSPENDED,NULL);
pRecThread-> ResumeThread();
子线程类如下
class CRecThread : public CWinThread
{
DECLARE_DYNCREATE(CRecThread)
public:
CRecThread(void);
~CRecThread(void);
protected:
DECLARE_MESSAGE_MAP()
public:
virtual int ExitInstance();
virtual BOOL InitInstance();
virtual int Run();
};
在
int CRecThread::Run()
{
。。。。。。。。。。。
while(true)
{
................
//CODE A
........................
}
。。。。。。。。。。。。。。。。
RETURN 0
}
1。我用的开发环境是VC++2003,用什么方法实现,具体点!!
是用 ::PostMessage((HWND)(GetMainWnd()-> GetSafeHwnd()),WM_DISPLAY,nTmpt,NULL)
第一个参数怎么设置呢? 怎么得到DIALOG的句柄呢?
------解决方案--------------------
CWinThread::GetMainWnd
...
If your application is not an OLE server, then calling this function is equivalent to directly referring to the m_pMainWnd member of your application object.
...
------解决方案--------------------
::SendMessage()
------解决方案--------------------
第一个参数AfxGetMainWnd()-> m_hWnd
------解决方案--------------------
FindWindows()找dialog句柄
我创建了一个线程类CRecThread (class CRecThread : public CWinThread) 想在此线程中 向DIALOG发消息 大家帮忙!!
我的程序是个一个DIALOG 对话框程序,在对话框上的A按钮中有:
CRecThread* pRecThread=(CRecThread*)AfxBeginThread(RUNTIME_CLASS(CRecThread),THREAD_PRIORITY_HIGHEST,0,CREATE_SUSPENDED,NULL);
pRecThread-> ResumeThread();
子线程类如下
class CRecThread : public CWinThread
{
DECLARE_DYNCREATE(CRecThread)
public:
CRecThread(void);
~CRecThread(void);
protected:
DECLARE_MESSAGE_MAP()
public:
virtual int ExitInstance();
virtual BOOL InitInstance();
virtual int Run();
};
在
int CRecThread::Run()
{
。。。。。。。。。。。
while(true)
{
................
//CODE A
........................
}
。。。。。。。。。。。。。。。。
RETURN 0
}
1。我用的开发环境是VC++2003,用什么方法实现,具体点!!
是用 ::PostMessage((HWND)(GetMainWnd()-> GetSafeHwnd()),WM_DISPLAY,nTmpt,NULL)
第一个参数怎么设置呢? 怎么得到DIALOG的句柄呢?
------解决方案--------------------
CWinThread::GetMainWnd
...
If your application is not an OLE server, then calling this function is equivalent to directly referring to the m_pMainWnd member of your application object.
...
------解决方案--------------------
::SendMessage()
------解决方案--------------------
第一个参数AfxGetMainWnd()-> m_hWnd
------解决方案--------------------
FindWindows()找dialog句柄