ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ
Главная » Статьи » Программирование » Delphi |
Задержка выполнения On В случае нажатия пользователем клавиши или изменении текущего элемента компонента ComboBox, вы обратите внимание на досадную задержку, возникающую при генерации события On. Так как "работа кипит", я хотел бы отреагировать на изменение ItemIndex несколько позднее, например, 100 миллисекунд спустя. Вот что у меня получилось. На простой форме располагаем компоненты ComboBox и Label. Необходимым дополнением является вызов Application.ProcessMessages, позволяющий избежать замедления работы PC, когда очередь сообщений для формы пуста. interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls; const // Просто некоторая константа сообщения // 500 миллисекунд type TForm1 = class(TForm) var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.ComboBox1(Sender: TObject); PostMessage(Handle, PM_COMBO, 0, 0); procedure TForm1.PMCombo(var message : TMessage); InProc : BOOLEAN = FALSE; if InProc then begin end else begin // Инициализация стартового времени // Ожидаем истечения стартового времени. // Иллюстративное приращение счетчика, задающее некоторую реальную работу обработчику события On // Завершение цикла end. | |
Просмотров: 961 | Комментарии: 1 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |