Программирование

Программирование
Автор: Иванова Г.С.
Год: 2013
ISBN: 978-5-406-02142-2
Страниц: 432
Язык: Русский
Формат: PDF
Размер: 16 Мб

Download

Изложены основные теоретические положения разработки программного обеспечения с использованием структурного и объектного подходов. Рассмотрены основные приемы решения задач различных классов, в том числе приемы создания и обработки динамических структур данных, без которых невозможно современное программирование. Отдельное внимание уделено оценке точности получаемых результатов и анализу вычислительной сложности алгоритмов и методов. Большое количество примеров и поясняющих рисунков способствует лучшему усвоению материала. Соответствует Федеральному государственному образовательному стандарту высшего профессионального образования третьего поколения. Для студентов бакалавриата, обучающихся по специальностям, предполагающим изучение программирования. Может быть полезен всем изучающим программирование самостоятельно.

+

12.2. Создание графических изображений с использованием объектной библиотеки Graphics. Обработка событий мыши

При работе с VCL-приложениями Windows использует графический режим функционирования дисплея. В этом режиме на экран можно выводить разного рода изображения. Для создания изображений существует несколько библиотек с различными возможностями. Наиболее простой из них является объектная библиотека Graphics.

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

Поверхностью для рисования является объект класса «Холст». Настройки регулируются объектами специальных классов. Толщина линий регулируется с помощью объекта класса «Перо». Для закрашивания замкнутых контуров используется объект класса «Кисть». Для задания шрифта при выводе надписей используется объект класса «Шрифт».

Кроме этого для удобства пользователя при движении мыши с нажатой левой клавишей должен рисоваться прямоугольник от выбранной точки до текущего положения курсора мыши (рис. 12.8, а). Окончательное рисование и закрашивание прямоугольника должно выполняться в момент отпускания левой клавиши мыши (рис. 12.8, б).

Белый прямоугольник на форме — объект image класса Tlmage. На «Холсте» этого компонента и будем рисовать.

Координаты точек, определяющих закрашиваемый прямоугольник, должны фиксироваться в момент нажатия и отпускания левой клавиши мыши. Следовательно, приложение должно обрабатывать события нажатия imageMouseDown и отжатия ImageMouseUp кнопок мыши. Также следует обрабатывать событие imageMouseMove, поскольку во время движения мыши с нажатой клавишей контурный прямоугольник необходимо перерисовывать.

Такая перерисовка предполагает, что мы стираем изображение, т.е. рисуем его цветом фона, а затем рисуем его опять уже на другом месте. При этом на экране изображение получается движущимся (эффект мультипликации).

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

Vat Rect:TRect; {координаты прямоугольника}

Объявление переменной Rect следует поместить в начало секции Implementation модуля главной формы, поскольку эту переменную будут использовать несколько обработчиков событий.