На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
  
> MFS & Timer
    люди, есть ли в МФЦ аналог TTimer из Дэльфи?
    (в VB точно есть, сам знаю)
    если нет, то как его можно сделать? :)
      я делал примерно так:
      объявляю в классе следующие переменные и функции:
      class CMainWnd : public CWnd
      {
      .......
      public:
      CTime m_timeStarted;
      UINT m_uTimer;
      .......
      protected:
      //{{AFX_MSG(CMainWnd)
      afx_msg void OnTimer(UINT nIDEvent);
      .....
      }
      далее в обработчике OnCreate запускаю таймер:
      int CMainWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
      {
      if (CWnd::OnCreate(lpCreateStruct) == -1)
      return -1;
      m_uTimer = SetTimer(1, 30000, NULL);
      .......
      }
      цифра 30000 означает, что таймер будет генерировать сообщения с интервалом в 30 секунд.
      После этого создаю обработчик OnTimer:
      void CMainWnd::OnTimer(UINT nIDEvent)
      {
      //здесь функция, которая будет вызываться каждые 30 секунд
      CWnd::OnTimer(nIDEvent);
      }
      и надо не забыть добавить:
      BEGIN_MESSAGE_MAP(CMainWnd, CWnd)
      //{{AFX_MSG_MAP(CMainWnd)
      .....
      ON_WM_TIMER()
      .....
      //}}AFX_MSG_MAP
      END_MESSAGE_MAP()
      вроде должно работать :)
        хех, спасибо :)
        а как этот таймер прибить? :)))
          элементарно Ватсон :)
          функция уничтожения окна:
          void CMainWnd::OnDestroy()
          {
          CWnd::OnDestroy();
          if(m_uTimer) KillTimer(m_uTimer);
          }
            хех. клёво \%)
            а таким макаром ещё пару таймеров сделать низзя? :)))
              Посмотри на функцию SetTimer. Первый аргумент - ID таймера. В обработчике OnTimer добавь проверку на то, какой таймер активизировался и делай, то что тебе надо!
                блин, спасибо люди - выручили :)
                возьмите по пирожку с полочки! :-]
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0189 ]   [ 16 queries used ]   [ Generated: 17.06.24, 11:01 GMT ]