Cтраница 2
Новый код также начинается с выбора необходимых инструментов и установки атрибутов рисования. Затем он переходит на программу, соответствующую выбранному текущему инструменту рисования. Каждая подпрограмма удаляет временную фигуру, а затем создает объект корректного класса для сохранения и рисования новой постоянной фигуры, присваивая адрес объекта PFigure. После выполнения оператора switch функция OnLButtonUp вызывает функцию SetROP2, чтобы восстановить стандартный режим рисования, и использует указатель PFigure, чтобы вызвать функцию Draw для рисования постоянной фигуры. Поскольку функция Draw является виртуальной, ее вызов автоматически вызывает соответствующую версию Draw для текущего типа фигуры. [16]
![]() |
Значения, передаваемые в функцию SelectStockObject для выбора стандартных перьев и кистей. [17] |
При выборе пера NULL PEN линии не рисуются. Значит, выбор не удачен. Аналогично при выборе NULL ERUSH внутренняя часть фигуры не закрашивается. Этот инструмент удобен при рисовании фигур, состоящих только из границы ( прямоугольник), если необходимо оставить неизменным существующее на экране графическое изображение внутри границы. В MiniDraw выбирается NULL BRUSH для рисования незакрашенных фигур с замкнутым контуром. [18]
Новый код также начинается с выбора необходимых инструментов и установки атрибутов рисования. Затем он переходит на программу, соответствующую выбранному текущему инструменту рисования. Каждая подпрограмма удаляет временную фигуру, а затем создает объект корректного класса для сохранения и рисования новой постоянной фигуры, присваивая адрес объекта PFigure. После выполнения оператора switch функция OnLButtonUp вызывает функцию SetROP2, чтобы восстановить стандартный режим рисования, и использует указатель PFigure, чтобы вызвать функцию Draw для рисования постоянной фигуры. Поскольку функция Draw является виртуальной, ее вызов автоматически вызывает соответствующую версию Draw для текущего типа фигуры. [19]
![]() |
Программа MiniDraw с новой панелью инструментов в начальной позиции. [20] |
Панель инструментов содержит десять кнопок. Первые семь предназначены для выбора инструментов рисования. Код для рисования фигур или использования линий различной толщины будет добавлен в программу только в гл. В этой главе в программе выводятся простые линии независимо от выбранного инструмента. [21]