на начало
На главную страницу
Форум   

Статья :: Вспомогательные функции

 

Вспомогательные функции

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

void CPolygon::MakeStar()

{

m_Points.clear();

//====== Вспомогательные переменные

double pi = 4. * atan(l.), // Углы

al = pi / 10.,

а2 = 3. * al,

//====== 2 характерные точки

xl = cos (al),

yl = sin(al),

x2 = cos(a2),

y2 = sin(a2);

//=== Вещественные (World) координаты углов звезды m_Points.push_back(CDPoint(0., 1.));

m_Points.push_back(CDPoint <-x2, -y2));

m_Points.push_back(CDPoint( xl, yl) ) ;

m_Points.push_back(CDPoint(-xl, yl)) ;

m_Points.push_back(CDPoint( x2, -y2));

//====== Габариты звезды

m_ptLT = CDPoint(-xl, 1.);

m_ptRB = CDPoint( xl,-y2);

//====== Генерация треугольника

void CPolygon::MakeTria() {

m_Points.clear();

double pi = 4. * atand(1.);

a = pi / 6.;

x = cos (a) ;

у = sin(a);

m_Points.push_back (CDPoint(0., 1.));

m_Points,push_back (CDPoint(-x, -y) );

m_Points.push_back (CDPoint( x, -y));

m_ptLT = CDPoint (-x, 1.) ;

m_ptRB = CDPoint ( x,-y);

//====== Генерация пятиугольника

void CPolygon::MakePent()

{

m_Points.clear ();

double pi = 4. * atan(l.),

al = pi / 10.,

a2 - 3. * al,

xl = cos(al),

yl = sin(al),

x2 = cos(a2),

y2 = sin(a2);

// Вещественные (World) координаты углов пятиугольника m_Points.push_back(CDPoint (0 ., 1.));

m_Points.push_back(CDPoint(-xl, yl));

m_Points.push_back(CDPoint(-x2, -y2));

m_Points.push_back(CDPoint( x2, -y2));

m_Points.push_back(CDPoint( xl, yl));

m_ptLT = CDPoint(-xl, 1.);

m_ptRB = CDPoint( xl,-y2);

 

Вспомогательные функции

страницы в данном разделе 
Урок 5. Управление файловым деревом Управление файловым деревом
Настройка стартового кода Список изображений, ассоциируемый с деревом
Обращаемся к операционной системе Реакция на уведомляющие сообщения CTreeCtrl
Реакция на выбор узла дерева Класс CPolygon
Конструкторы и операции Вспомогательные функции
Развитие класса документа Документ и его представления
Обзор функции Initlnstance Ресурсы шаблона документов
Класс для нового представления документа Класс для просмотра изображений
Окна с геометрией данных Взаимодействие представлений документа
Визуальное редактирование данных Отслеживание состояния команд
Тестирование Немодальный диалог
Создание и связывание переменных с полями диалога Обработка сообщений от элементов управления
Нестандартные кнопки Немодальный режим работы


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста