Метод MFC OnTimer () не работает - PullRequest
0 голосов
/ 10 августа 2011

Я создал приложение на основе диалогового окна MFC и хотел добавить таймер в форму.Но оказывается, что MFC отличается от форм Windows .NET.

Я добавил ON_WM_TIMER () в карту сообщений.и добавил определение функции для CMyDialog :: OnTimer (UINT_PTR x) {}

Но я получаю ошибку компилятора в VS2005.Я не знаю, что я делаю неправильно.«ошибка C2509:« OnTimer »: функция-член не объявлена ​​в« CMyDialog »»

Помощь очень важна.Спасибо.

Ответы [ 2 ]

5 голосов
/ 10 августа 2011

Очевидно, вы забыли объявить функцию в MyDialog.h, в CMyDialog объявлении:

afx_msg void OnTimer(UINT_PTR x);

Обратите внимание, что afx_msg является чисто информативным и может быть опущен.

2 голосов
/ 10 августа 2011

Документация для макроса карты ON_WM_TIMER показывает, что вы поступаете правильно. Единственное, о чем я могу думать, это то, что вы исключили квалификатор afx_msg из определения вашей функции.

Редактировать: Опасаясь указать очевидное, вы также включили прототип функции OnTimer в объявление класса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...