Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2014, 15:52   #1
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию Тормоза при изменении цвета Delphi

При нажатии мышкой на панель изменяет цвет - первое нажатие становится черной, второе нажатие становится белой, короче как переключатель, но вопрос - почему реагирует не на каждое нажатие мыши, получается кликнул, надо чуть подождать, потом второй раз, а если быстро кликать то получаются пропуски нажатий... Почему так? Как будто сильно тормозит приложение, что не успевает все клики отрабатывать. Подскажите может как то по другому надо код реализовать, чтоб быстро все работало
Код:
procedure TForm2.pnl1Click(Sender: TObject);
begin
if pnl1.Color = clBlack  then
begin
  pnl1.Color := clCaptionText;
  pnl1.Font.Color := clBlack;
end
else
begin
  pnl1.Color := clBlack;
  pnl1.Font.Color := clCaptionText;
end;
end;

Последний раз редактировалось Stilet; 27.11.2014 в 17:16.
S_007 вне форума Ответить с цитированием
Старый 27.11.2014, 16:27   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Потому что при двойном клике OnClick отрабатывает только раз. Уменьши интервал SetDoubleClickTime например до 100 и полюбуйся. Не забудь восстановить старое значение (для чтения GetDoubleClickTime)

PS

с SetDoubleClickTime конечно шутка, просто добавь OnDblClick

Код:
procedure TForm1.pnl1DblClick(Sender: TObject);
begin
  pnl1Click(Sender);
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 27.11.2014 в 16:49.
Аватар вне форума Ответить с цитированием
Старый 27.11.2014, 17:09   #3
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

двойное нажатие исключено, просто - одиночное быстрое нажатие, экспериментировал с кнопкой при нажатии меняется текст на кнопке, всё быстро работает а с изменением цвета панели засада, да не только с панелью этот же код пробовал и с label, всё так же медленно переключается

но всё равно благодарен за ответ

может ещё есть какие варианты
Спасибо

Последний раз редактировалось S_007; 27.11.2014 в 17:44.
S_007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование строки на новый лист при изменении цвета шрифта Dmitriy S Microsoft Office Excel 7 08.04.2014 08:56
Макрос для автоматического проставления статуса при изменении цвета ячейки Сергей Ш. Microsoft Office Excel 19 15.08.2013 17:59
Тормоза при работе с TcpClient и TcpServer Аватар Работа с сетью в Delphi 0 04.03.2011 10:35
Сброс цвета некоторых слов при изменении стиля текста 3D.KENWOOD Microsoft Office Word 11 23.06.2010 20:42
Тормоза при добавлении записей в БД MS Access Vit@L БД в Delphi 12 17.05.2010 09:03