Валерий Борисок - Delphi. Трюки и эффекты

Здесь есть возможность читать онлайн «Валерий Борисок - Delphi. Трюки и эффекты» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Delphi. Трюки и эффекты: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Delphi. Трюки и эффекты»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

«Delphi. Трюки и эффекты», как и все издания данной серии, адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые, интересные вещи. В первой части книги многое говорится о среде разработки Delphi (самых последних версий) и программировании на языке Object Pascal. Благодаря этому издание подходит и новичкам, и начинающим программистам. Вторая (основная) часть книги описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения МРЗ и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Delphi. Трюки и эффекты — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Delphi. Трюки и эффекты», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
...

Листинг 3.10. Подсчет разницы между положениями указателя мыши

procedure TForm1.Timer1Timer(Sender: TObject);

var

curPos: TPoint;

delta: Real;

begin

if (curPos.X <> lastPos.X) or (curPos.Y <> lastPos.Y) then

begin

GetCursorPos(curPos);

//Вычисляем разницу между текущим и прошлым

//положением мыши

delta := Sqrt(Sqr(curPos.X – lastPos.X) + Sqr(curPos.Y -

lastPos.Y));

distance := distance + delta;

//Не забываем сохранить новые координаты указателя

lastPos := curPos;

if isUpdating then

begin

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

ShowDistance();

end;

end;

end;

Как можно увидеть при внимательном рассмотрении листинга 3.10, обновление показаний происходит при истинном значении переменной 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;

Вот, собственно, и все, что нужно для работы рассматриваемой программы. Остается лишь уточнить, что способ установки масштаба, используемый в программе, предназначен для таких разрешений мониторов, при которых нет искажений по горизонтали или вертикали. Чаще всего это такие разрешения, при которых размеры изображения по горизонтали и вертикали подчиняются пропорции 4:3 (640 х 480, 800 х 600 и т. д.). При этом такими же пропорциями должен обладать экран монитора.

Подсвечивание элементов управления

В завершение рассмотрим несложный, но достаточно полезный пример, позволяющий сделать более «живым» интерфейс приложения: изменение внешнего вида элементов управления при наведении на них указателя мыши.

В листинге 3.14 показано, как можно сделать статическую надпись похожей на гиперссылку (для большего эффекта для такой надписи можно установить свойство Cursor равным crHandPoint на этапе проектирования формы).

...

Листинг 3.14.

Подчеркивание и изменение цвета надписи

procedure TForm1.lblUnderlineMouseEnter(Sender: TObject);

begin

lblUnderline.Font.Style := [fsUnderline];

lblUnderline.Font.Color := RGB(0, 0, 255);

end;

procedure TForm1.lblUnderlineMouseLeave(Sender: TObject);

begin

lblUnderline.Font.Style := [];

lblUnderline.Font.Color := RGB(0, 0, 0);

end;

Осталось добавить обработчик события Click для надписи, и получится довольно правдоподобная гиперссылка, правда, выполнять она может любое действие.

Начертание шрифта можно также изменить для стандартной кнопки. Как это можно сделать, показано в листинге 3.15.

...

Листинг 3.15.

Изменение начертания шрифта

procedure TForm1.cmbItalicBoldMouseMove(Sender: TObject;

Shift: TShiftState; X, Y: Integer);

begin

cmbItalicBold.Font.Style := [fsItalic, fsBold];

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Delphi. Трюки и эффекты»

Представляем Вашему вниманию похожие книги на «Delphi. Трюки и эффекты» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Delphi. Трюки и эффекты»

Обсуждение, отзывы о книге «Delphi. Трюки и эффекты» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x