SetTimer not firing
Hi there,
I am calling SetTimer on a dialog derived from CDialogImpl,
unfortunately the timer never fires.
I have tried using the callback method, but that didn't fire also, and
tbh it's a little awkward for my purpose, the WM_TIMER method is most
ideal...
.....................
BEGIN_MSG_MAP(CSplashDialog)
....
MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)
MESSAGE_HANDLER(WM_TIMER, OnTimer)
....
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()
LRESULT CSplashDialog::OnActivate(UINT uMsg, WPARAM wParam, LPARAM lParam,
BOOL& bHandled)
{
static bool pBlnActivated = false;
int pIntActivate = LOWORD(wParam);
if(WA_ACTIVE==pIntActivate)
{
if(!pBlnActivated)
{
pBlnActivated = true;
SetTimer(WM_USER + 1, 5000, NULL);
}
}
return(0);
}
LRESULT CSplashDialog::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam,
BOOL& bHandled)
{
EndDialog(IDOK);
return (0);
}
.....................
This *should* close the dialog after 5 seconds, but OnTimer never gets
fired. Any ideas on what I'm doing wrong? Many thanks in advance!
Nick.