但是在这个工程里就是不行,不知道为什么?
利用向导建的,
BEGIN_MESSAGE_MAP(CCLDlg, CDialog)
//{{AFX_MSG_MAP(CCLDlg)
ON_WM_PAINT()
ON_BN_CLICKED(IDC_BKSCL, OnBkscl)
ON_BN_CLICKED(IDC_BSJBC, OnBsjbc)
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
afx_msg void OnTimer(UINT nIDEvent);
// afx_msg void Onkaishi();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
消息映射和声明都有
void CCLDlg::OnBkscl()
{
SetTimer(1,1000,NULL);
}
void CCLDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
MessageBox("你好!XS");
}
}
5 个解决方案
#1
SetTimer(1,1000,NULL);
似应放在
BOOL CCLDlg::OnInitDialog()
里面。
似应放在
BOOL CCLDlg::OnInitDialog()
里面。
#2
定时器消息是优先级很低的消息, 只要消息队列中有消息, 定时器消息就不会被投递, 是否有什么阻塞操作?
#3
void CCLDlg::OnBkscl()
{
SetTimer(1,1000,NULL);
}
这个运行了没有啊?打个断点,跟踪一下看看.
{
SetTimer(1,1000,NULL);
}
这个运行了没有啊?打个断点,跟踪一下看看.
#4
结贴了,至今不知道什么原因,后来也不用定时器了
#5
改用多线程了?
#1
SetTimer(1,1000,NULL);
似应放在
BOOL CCLDlg::OnInitDialog()
里面。
似应放在
BOOL CCLDlg::OnInitDialog()
里面。
#2
定时器消息是优先级很低的消息, 只要消息队列中有消息, 定时器消息就不会被投递, 是否有什么阻塞操作?
#3
void CCLDlg::OnBkscl()
{
SetTimer(1,1000,NULL);
}
这个运行了没有啊?打个断点,跟踪一下看看.
{
SetTimer(1,1000,NULL);
}
这个运行了没有啊?打个断点,跟踪一下看看.
#4
结贴了,至今不知道什么原因,后来也不用定时器了
#5
改用多线程了?