Здравствуйте akela, Вы писали:
A>Здравствуйте Constructor, Вы писали:
C>>Здравствуйте Flea, Вы писали:
C>>Вообще-то, я использую CWnd::SetTimer. Мой класс наследован от CWnd. Окно создавать (т.е., вызвать Create как обычно делается) для него я не могу. Вываливается на ASSERT, что мой класс не окно.
C>>Следуя Вашему совету, решил написать ::SetTimer(0, 1, 100, ). А что писать в 4-й параметр? NULL теперь туда писать нельзя, а то будет посылаться сообщение WM_TIMER, окна ведь нет.
A>Можно писать NULL, будет посылаться сообщение WM_TIMER потоку, т.е. такое, что msg.hwnd == NULL
То есть, если в моем классе объявить обработчик ON_WM_TIMER(), то даже если нет окна, функция OnTimer будет вызываться в нужные моменты?
A>Пишу ::SetTimer(0, 1, 100, TimerProc1), где TIMERPROC TimerProc1(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime); Так не хочет компилироваться.
(
A>А как ругается?
error C2664: 'SetTimer' : cannot convert parameter 4 from 'void (__stdcall *(struct HWND__ *,unsigned int,unsigned long,unsigned long))(struct HWND__ *,unsigned int,unsigned int,unsigned long)' to 'vo
TimerProc1 объявлена в классе.