Оценить:
 Рейтинг: 4.6

Программирование в Delphi. Трюки и эффекты

Год написания книги
2010
Теги
<< 1 ... 36 37 38 39 40 41 42 >>
На страницу:
40 из 42
Настройки чтения
Размер шрифта
Высота строк
Поля

ShowDistance();

end;

end;

end;

Из данного листинга видно, что обновление показаний происходит при истинном (True) значении переменной isUpdating. Значение этой переменной устанавливается в False во время изменения масштаба, чтобы во время ввода значений в текстовые поля не выводились неправильные цифры (листинг 3.11).

Листинг 3.11. Активизация и деактивизация режима изменения масштаба

procedure TForm1.cmbScaleClick(Sender: TObject);

begin

if cmbScale.Caption = 'Изменить масштаб' then

begin

//Начинаем изменение масштаба

StopUpdating();

cmbScale.Caption:= 'Принять масштаб';

txtWidth.Enabled:= True;

end

else

begin

//Заканчиваем изменение масштаба

txtWidth.Enabled:= False;

cmbScale.Caption:= 'Изменить масштаб';

StartUpdating();

end;

end;

Процедуры StartUpdating и StopUpdating скрывают действия, которые необходимо произвести для остановки и возобновления отображения пройденного в текстовом поле указателем мыши расстояния. В данном примере они выглядят достаточно просто (листинг 3.12).

Листинг 3.12. Включение и выключение обновления результатов измерения

procedure TForm1.StartUpdating();

begin

//Включаем обновление показаний в текстовом поле

isUpdating:= True;

end;

procedure TForm1.StopUpdating();

begin

//Отключаем обновление показаний в текстовом поле

isUpdating:= False;

end;

В завершение остается реализовать код инициализации координат указателя мыши при запуске программы и обработчик события Click для кнопки cmbClear (листинг 3.13).

Листинг 3.13. Инициализация при запуске и код сброса счетчика

procedure TForm1.FormCreate(Sender: TObject);

begin

//Инициализируем координаты мыши

GetCursorPos(lastPos);

StartUpdating();

end;

procedure TForm1.cmbClearClick(Sender: TObject);

begin

//Сбрасываем счетчик пройденного расстояния

distance:= 0;

GetCursorPos(lastPos); //Начинаем отсчет с текущей позиции указателя

ShowDistance();

end;
<< 1 ... 36 37 38 39 40 41 42 >>
На страницу:
40 из 42

Другие электронные книги автора Александр Анатольевич Чиртик