Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Листинг второй функции.

Читайте также:
  1. II. Логистические функции.
  2. А — при глубине заложения подошвы фундамента 3 м и менее; б — то же, свыше 3 м; 1 — первый слой; 2 — второй слой; 3 — третий слой
  3. А. Правила для первой и второй полос
  4. АКТ ВТОРОЙ
  5. Акты и действия общ объединений, на которые гос возложило определенные властные функции.
  6. Аналитический способ задания функции.
  7. Анатомия внутреннего уха и его функции.

void Clara3Dlg::OnButton2()

{ this->RedrawWindow();

// перерисовка окна для удаления изображенной в нем графики

CClientDC MyDC(GetDlgItem(IDC_STATIC1));

// определение объекта класса CClientDC в элементе диалога «Static

// text»

CRect Rect; // объявление объекта класса CRect

CWnd *pWnd = MyDC.GetWindow();

// определение указателя на окно, занимаемое элементом диалога

// «Static text»

pWnd->GetClientRect(&Rect);

// передаем размеры окна, занимаемое элементом диалога «Static

// text» в объект Rect

MyDC.FillSolidRect(&Rect, RGB(200,50,120));

// рисуем закрашенный прямоугольник в элементе диалога «Static

// text»

int x1, y1, x2, y2;

x1 = Rect.TopLeft().x;

// определяем координату х левой верхней точки прямоугольника Rect

// и передаем ее в переменную х1

y1 = Rect.TopLeft().y;

// определяем координату Y левой верхней точки прямоугольника Rect

// и передаем ее в переменную y1

x2 = Rect.BottomRight().x;

// определяем координату Х правой нижней точки прямоугольника

// Rect и передаем ее в переменную х2

y2 = Rect.BottomRight().y;

// определяем координату Y правой нижней точки прямоугольника

// Rect и передаем ее в переменную y2

int w, h;

w = (x2-x1)/3;

// определение ширины изображаемого линиями прямоугольника

h = (y2 - y1)/2;

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

CPen Pen(PS_SOLID, 2, RGB(0,0,255)); // инициализация пера

MyDC.SelectObject(&Pen);

// выбор созданного пера в качестве активного

int x0, y0;

x0 = x1+(x2-x1)/2-w/2;

// определяем координату Х левой верхней точки прямоугольника

y0 = y1+(y2-y1)/2-h/2;

// определяем координату Y левой верхней точки прямоугольника

MyDC.MoveTo(x0, y0); // перемещаем перо в найденную точку

MyDC.LineTo(x0+w, y0);

//изображаем верхнюю линию прямоугольника

MyDC.LineTo (x0+w, y0+h);

//изображаем правую линию прямоугольника

MyDC.LineTo (x0, y0+h);

//изображаем нижнюю линию прямоугольника

MyDC.LineTo (x0, y0); //изображаем левую линию прямоугольника

}

 

При работе программы в элементе Static Text получаем изображения, представленные на рис. 19, 20.

 

 

Рис. 19. Результат работы первой функции

 

 

Рис. 20. Результат работы второй функции

 

Контрольные вопросы

1. Какой класс был использован для построения изображения в вашей программе? Какие именно методы этого класса и каковы их параметры?

2. Какие методы классов CRect и CPoint были использованы в программе?

3. Какие инструменты рисования потребовалось создать при разработке приложения? Какие параметры задают при создании инструментов рисования?

4. Как сделать перо (или кисть) активным?

5. Каким образом была осуществлена привязка к определенному элементу диалога для вывода графики?

 

Список литературы

 

1. Шилдт Г. Справочник программиста по С / С ++ / Пер. с англ.: Учебное пособие. – М.: Издательский дом «Вильямс», 2012. – 448 с.

2. Дерк Луис. С и С ++. Справочник/ Пер. с нем. – М.: Восточная книжная компания, 2007. – 592 с.

3. Visual C ++ 5.0. Руководство разработчика / Пер. с англ. / Д. Беннет, С. Маконин, В.В. Мейфилд и др. – Киев; М.; СПб.: Диалектика, 2008. – 768 с.

 

 


Дата добавления: 2015-07-11; просмотров: 93 | Нарушение авторских прав


Читайте в этой же книге: Создание инструментов рисования | Типы данных для хранения информации о графических объектах | Задание на лабораторную работу |
<== предыдущая страница | следующая страница ==>
Этапы выполнения работы| Задание 4.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)