Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 09.06.2007, 23:40   [включить плавающее окно]   #1
santeys
Мужской Новенький
Автор темы
 
Регистрация: 31.03.2007
Как остановить многократное нажатие клавиши?

Кто-нибудь подскажет как можно решить данную проблему.

Имеется приложение вывода графика ститистики.
К примеру имеется горячая клавиша F5, которая вызывает
функцию рисования графика на канве формы.
Так вот если я нажимаю 4 раза или 6 раз подряд, или просто держу
клавишу F5 в течение нескольких секунд, то функция рисования графика рисует этот график многократно 4,6 или более раз без остановки. Нажатие клавиши F2 перехватывает ApplicationEvents.

Как можно решить данную проблему, чтобы вследствие многократного нажатия клавиши, график рисовался всего один раз.

Может быть есть такая функция, которая обнуляет многократное нажатие клавиши F5?

Последний раз редактировалось santeys; 09.06.2007 в 23:45.
santeys вне форума  
Ответить с цитированием
Непрочитано 10.06.2007, 16:26   [включить плавающее окно]   #2
V86
Мужской Бывалый
 
Аватар для V86
 
Регистрация: 23.09.2004
Адрес: СПб
В чем проблема то? В начале процедуры, обрабатывающей нажатие F5, допиши, что если
Цитата (santeys) »
функция рисования графика рисует этот график
тогда не выполнять никаких действий. Одна строчка кода, при помощи if
V86 вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 13.06.2007, 18:37   [включить плавающее окно]   #3
Phodopus
Мужской Продвинутый
 
Регистрация: 05.10.2005
Адрес: Санкт-Петербург
совершенно верно подметил V86
ну или сделай рисование по WM_KEYUP, хотя зачем ты клавишу в AppEvents перехватываешь не пойму...
Phodopus вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:25. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey