опубликован 12-04-2001 18:49 MSK
Поробуй протрассировать внутри afxMapHWND
Но если тебе нужно выполнять действие
через малые промежутки времени, попробуй такой способ :void MyTimerFunc(void* data)
{
CMyDocument* pThis = (CMyDocument*)data;
while(WaitForSingleObject(pThis->m_hFinishTimer, 30) == WAIT_TIMEOUT)
{
// do something
}
}
void CMyDocument::StartTimer()
{
m_hFinishTimer = ::CreateEvent(NULL, FALSE, FALSE, 0);
_beginthread( MyTimerFunc, 0, this );
}
void CMyDocument::StopTimer()
{
::SetEvent(m_hFinishTimer);
}
Я надеюсь тут все понятно, создаешь второй поток, вызывая в потоке функцию WaitForSingleObject
ждешь event m_hFinishTimer 30 милисекунд,
если m_hFinishTimer не наступает, выполняешь
свои действия, если наступает hFinishTimer, завершаешь функцию потока.