建了一个基于对话框的工程Edit,然后在EditDlg.h文件中声明了一个线程类如下:
class CShakeThread: public CWinThread
{
public:
CShakeThread(int id);
virtual BOOL  PreTranslateMessage(MSG *pMsg);
protected:
int shakeid;
};
在EditDlg.cpp中BOOL CEditDlg::OnInitDialog()方法中添加如下代码:
CShakeThread *pThread = new CShakeThread(1); if (pThread!=NULL)
{
if (!pThread->CreateThread())
{
delete pThread;
return TRUE;
} int i = pThread->PostThreadMessage(WM_TIME60SEC,0,0); }
这里i的值为1,那应该是发送消息成功了,为什么系统不回调PreTranslateMessage方法呢?要怎么实现呢?请教大虾