Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > выполнять действия во время простоя


Автор: ano360 15.2.2009, 16:23
каким образом можно выполнять какие либо действия все время вовремя простоя приложения(а точнее главного потока приложения это важно)?
в билдере было событие OnIdle
каким образом в визуал студио это возможно?

Автор: Earnest 15.2.2009, 16:35
В MFC тоже есть OnIdle - виртуальная функция приложения.

Автор: ano360 15.2.2009, 17:39
да спасибо нашел...только вот что то не работает......
Код

//-------------app12345.h---------------
class Capp12345App : public CWinApp
{
public:
    Capp12345App();

// Overrides
    public:
    virtual BOOL InitInstance();
    BOOL OnIdle(LONG lCount);

// Implementation

    DECLARE_MESSAGE_MAP()
};
//-------------app12345.cpp---------------
BOOL Capp12345App::OnIdle(LONG lCount){
 /*здесь стоят брейкпоинты*/   if (CWinApp::OnIdle(lCount))
        return TRUE;   

   return TRUE;
   // return TRUE as long as there are any more idle tasks
}


почемуто брейкпоинты не срабатывают.... я неправильно перегрузил функцию???

Автор: ano360 15.2.2009, 17:54
нашел ответ....я использую dialog-based приложение и как написано в этой(ссылку смотри ниже) статье....в общем почитайте кто столкнулся с тем же:

http://www.rsdn.ru/archive/vc/issues/pvc018.htm

Автор: Earnest 16.2.2009, 09:50
Да, действительно, диалоговое приложение не совсем полноценное в смысле MFC. Если бы ты сразу сказал о том, что используешь диалогове приложение, то и ответ был бы другим... Но, с другой стороны, информацию сам нашел, а плоды собственных трудов лучше усваиваются. 

Автор: ano360 16.2.2009, 14:03
согласен с вами

Добавлено через 6 минут и 38 секунд
я просто не знал что то что приложение основано на диалоговом окне вносит какие то существенные ограничения

Автор: ano360 20.2.2009, 19:58
как на практике организовать обработку читаем тут:
http://forum.codenet.ru/showthread.php?t=15479

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)