Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том2)" -> 70

Visual С++ 6. Полное руководство: В 2 т.(том2) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том2) — Бином, 2006. — 530 c.
Скачать (прямая ссылка): vicualcc2006t2.djvu
Предыдущая << 1 .. 64 65 66 67 68 69 < 70 > 71 72 73 74 75 76 .. 173 >> Следующая

Функция Цель
ШИ^есЕ Заполняет прямоугольную область, используя указанную
кисть без рисования границ Flood.Fi 11 Заполняет область, ограниченную данным цветом, используя
текущую кисть
РгатеЯесс Рисует прямоугольную границу, используя указанную кисть,
без заполнения внутренней области т.тгегсКесЪ Инвертирует цвет внутри прямоугольной области
Ро1уОга>1/ Рисует фигуры, состоящие из комбинаций прямых и кривых
линий, т.е. из сегментов прямых линий и сплайнов Безье
Программа MiniDraw
В этом параграфе описана версия программы MiniDraw, в которую добавлены следующие функции (рис. 19.14).
• Рисование множества разных форм; отдельная форма зависит от выбранного инструмента рисования, который выбирается щелчком на кнопке в панели инструментов или выбором команды в меню Tools.
• Задание толщины линий, используемых для рисования фигур (одинарная, двойная или тройная) щелчком на кнопке в панели инструментов или выбором команды в меню Options.
• Выбор цвета фигуры с помощью команды в меню Options.
Фрагмент, добавленный в программу MiniDraw, демонстрирует не только методы рисования, описанные в этой главе, но и способы конструирования иерархии классов и использования полиморфизма (см. гл. 5).
Можете внести изменения в файл программы MiniDraw, созданный в гл. 14, или в исходные файлы, содержащиеся в каталоге \MiniDrw5 прилагаемого компакт-диска.
Настроим меню программы. Для этого откройте в Developer Studio проект MiniDraw, затем откройте вкладку ResourseView в окне Project Workspace и меню i dr_ma in frame в редакторе меню. Удалите меню Lines и замените его на меню Options, содержащее два каскадных всплывающих подменю. В табл. 19.8 перечислены свойства элементов нового меню, а на рис. 19.15 — конечный результат.
Используем мастер ClassWizard для генерации обработчика добавленных команд меню. В диалоговом окне мастера ClassWizard откройте вкладку Message Maps, а в списке Class name выберите класс CMiniDrawApp. Теперь для каждой команды всплывающего меню Color определены обработчики сообщений command и update_command. Примите имя функции, заданное по умолчанию. Закройте диалоговое окно, щелкнув на кнопке ОК. В табл. 19.9 для каждого из обработчиков сообщений приведены идентификаторы команды (из списка Object Ids) и сообщения (из списка Messages), а также стандартное имя функции обработки сообщений.
Линия
Прямоугольник
Закрашенный прямоугольник
Закругленный прямоугольник I Закругленный закрашенный прямоугольник
1
I Unti led - MinOidw
file Elit
ools Qptio is View Help
Окружность Закрашенная окружность Линия единичной толщины
Линия двойной толщины Линия тройной толщины
Ready
•ты
Рис. 19.14. Окно программы MiniDraw Таблица 19.8. Свойства элементов меню Options программы MiniDraw
Всплывающее меню Options и элементы, которые оно содержит
Идентификатор Надпись Другие свойства
Отсутствует SOptions Popup
Отсутствует SColor Popup
Отсутствует SLine Thickness Popup
Элементы всплывающего подменю Color
Идентификатор Надпись Приглашение Другие свойства
id_COLCR_BLACK SBlack
id_COLOR_WHITE SWhite
id_CCLCR_RED &Red
ID_COLOR_GREEN SGreen
id COLOR BLUE SBlue
Draw using black (Рисовать черным) Draw using white (Рисовать белым) Draw using red (Рисовать красным) Draw using green (Рисовать зеленым) Draw using blue (Рисовать синим)
Отсутствуют Отсутствуют Отсутствуют Отсутствуют Отсутствуют
Окончание табл. 19.8
Идентификатор Надпись Приглашение Другие свойства
ID_ _COLOR_ _YELLOW SYellow Draw using yellow (Рисовать желтым) Отсутствуют
ID_ COLOR_ _CYAN &Cyan Draw using cyan (Рисовать бирюзовым) Отсутствуют
ID_ _COLOR_ _MAGENTA SMagenta Draw using magenta (Рисовать пурпурным) Отсутствуют
ID_ _COLOR_ _CUSTOM {.Custom... Select a custom drawing color (Выбор настраиваемого цвета) Отсутствуют
Элементы всплывающего подменю Line Thickness
Идентификатор Надпись Приглашение Другие свойства
ID_ LINE _SINGLE &Single Draw using single-thickness lines\nSingle-Thickness Lines (Рисовать, используя линии обычной толщины) Отсутствуют
ID_ _LINE_ ^DOUBLE SDouble Draw using double-thickness lines \nDouble-Thickness Lines (Рисовать, используя линии двойной толщины) Отсутствуют
ID_ _LINE_ _TRI PLE «.Triple Draw using triple-thickness lines\nTriple-Thickness Lines (Рисовать, используя линии тройной толщины) Отсутствуют
Откройте файл MiniDraw.h и добавьте определения двух новых переменных в начало определения класса CMiniDrawApp.
class CMiniDrawApp : public CWinApp {
public :
COLORREF m_CurrentColor;
int m_CurrentThickness; UNIT m_CurrentTool; UNIT m IdxColorCmd;
ЭХ MimDi.iw.ic - IDR_MAINFRAME (Menu) ИНЕЯ
File ?dit loots flptions View Kelp
ч ?ркк > * ~
1.
, J,irlC.ItllVMICSS P
Hack White Bed lateen Blue Yellow Cyan' Magenta Qystom...
& MiniDraw.rc - IDR_MAINFRAME (Menu) № Ш |
File ?dk loots flptions View Help i . !
trim k 1
Line Thickness > \ Single
i Double
Iriple


Рис. 19.15. Завершенное меню Options программы MiniDraw в редакторе меню
Предыдущая << 1 .. 64 65 66 67 68 69 < 70 > 71 72 73 74 75 76 .. 173 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100