Здравствуйте ! Решил я тут поиграться с таймером (под ДОСом) - написал прог маленький, перехватываю два прерывания - клавиатуры и таймера. Предполагал сделать следующее : в правом верхнем углу экрана поочередно мигают символы "*" и "+" (это делает мой обработчик прерывания таймера) и все это хозяйство должно завершаться в том случае, если юзер нажмет на ESC. Если нажата любая другая клавиша - ничего не происходит, прог выполняется дальше. У меня получается вот что : символы мигают как и положено, а вот когда жму на клавишу ESC - прог намертво зависает (под ДОСом) или если запускать под Виндой - сообщение о выполнении недопустимой операции (или что=то вроде того). Что я делаю не так ? Помогите плз. Спасибо.
Здравствуйте, Rin! Уж сколько раз твердили миру, что... Короче, функция printf выводит форматированные данные в стандартный поток вывода, то есть пользуется прерыванием int 21 (если ты програмируешь для MS-DOS, а судя по _dos_setvect - так оно и есть). Никогда не вызывай сервисные прерывания из обработчиков аппаратных прерываний - это 100% гарантия зависания программы. И перепиши обработчик клавиатуры так, чтобы asm-вставка работала только тогда, когда не вызывается старый обработчик прерывания - ведь старый обработчик сам это делает, повторять ни к чему. Ответ отправлен: 11.06.2002, 09:51 Отправитель: Артём Шегеда
Вопрос № 66
Всем привет! Люди, подскажите, че делать? Надо нарисовать график с возможностью прокрутки для CDialog. Стоит только задвинуть окно за экран, либо чего сверху провести, скролить, то текст стирается. Перерисовывать нежелательно, т.к. вычисление всех точек занимает до 15 сек.
Здравствуйте, dmi! Можешь поступить так- создать Bitmap, нарисовать в него, а потом при обработке WM_PAINT просто кидать Bitmap на затёртое изображение с помощью BitBlt или можёт ещё каким способом. Время будет тратиться только на вывод картинки на экран, и ничего по 15 секунд рисовать не надо.
Ответ отправлен: 14.06.2002, 13:06 Отправитель: Morgion Отвечает Gibbel
Доброе время суток, dmi! Создаешь битмап в памяти и выводишь все в него, а потом по OnPaint выводишь его на экран. Ответ отправлен: 14.06.2002, 13:38 Отправитель: Gibbel
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.