Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Не могу прервать процедуру по таймеру - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В тексте найти количество слов, начинающихся и заканчивающихся гласной русской буквой http://www.cyberforum.ru/cpp-beginners/thread38022.html
В тексте найти количество слов, начинающихся и заканчивающихся гласной русской буквой. буду очень благодарен за помощь!
C++ Проблемы с Ati2dvag.dll когда роботаю в среде С++ выбиваэт синий екран и там много чего написано,типа проблемы с Ati2dvag.dll! што ето может быть? ошыбка появляэться после нескольки минут роботы в програме! http://www.cyberforum.ru/cpp-beginners/thread38021.html
Структуры в функциях C++
привет вот у меня есть такой код struct box { char nme; int vol; }; void sin ( box cn); void cot (box ct);
C++ Комплексные числа
Здравствуйте! у меня большая проблема... я плохо понимаю с++ и с трудом делаю лабы в универе. вот одна из них. Задание:Написать класс, комплексные числа, данными которого являются: действительная...
C++ Надо найти "острова" на квадратной матрице http://www.cyberforum.ru/cpp-beginners/thread37995.html
Собственно ниже условие и я вроде все понял, но как это сделать... Буду очень благодарен за Вашу помощь. Каждый элемент квадратной матрицы размерности NxN равен нулю либо единице. Найдите...
C++ работа со строками. Здравствуйте, я студент 1го курса, попросили решить задачки на C++, а я с ним как то не очень.буду рад любой помоши, задачи выкладываю ниже Задача 55 Переформировать матрицу таким образом, чтобы... подробнее

Показать сообщение отдельно
DrMcSheen
60 / 60 / 1
Регистрация: 25.05.2009
Сообщений: 521

Не могу прервать процедуру по таймеру - C++

03.06.2009, 09:05. Просмотров 636. Ответов 1
Метки (Все метки)

Здравствуйте.
Не могу разобраться с запуском-остановкой таймера на С++.
Сделал диалоговое окно, по нажатию ОК запускаю таймер, запускаю какую-либо функцию, и таймер должен её прервать. Хотя бы опередить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void C_123_Dlg::OnBnClickedOk()
{
    m_OutText="старт"; //поле Edit
    UpdateData (FALSE);
    m_nTimer = SetTimer(0, 100, 0); //что значит первый ноль в параметрах?
    for (i=0; i<1000000000; i++);    //занимаю процессор на три сек.
    m_OutText="конец";
    UpdateData(FALSE);
    KillTimer(m_nTimer);    //OnOK(); - чтобы окно не закрывалось
}
 
void C_123_Dlg::OnTimer(UINT_PTR nIDEvent)
{
    MessageBeep (0);
    m_OutText="таймер";
    UpdateData(FALSE);
    KillTimer(m_nTimer);
    CDialog::OnTimer(nIDEvent);
}
Здесь получается, что по нажатию ОК цикл for проходит полностью, выводится строка "конец" и начинает беспрерывно пищать MessageBeep.
Как правильно надо сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru