Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТПКС-лаба3

.docx
Скачиваний:
10
Добавлен:
17.01.2020
Размер:
32.86 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

Кафедра КІТАМ

ЗВІТ з лабораторної роботи № 3 з дисципліни: «Технологіі програмування комп’ютерних систем»

Варіант 2

Виконав: Перевірив:

ст. гр. АКТСІу -17-1 ст. викл. каф. КІТАМ

Черкашин В.А. Бронніков А.І.

Юрченко В.Р.

Харків 2019

3 РЕАЛІЗАЦІЯ ГРАФІЧНИХ ФУНКЦІЙ .NET FRAMEWORK В C++/CLI. ПОБУДОВА ПРОСТИХ ТА СКЛАДЕНИХ ОБ’ЄКТІВ

3.1 Мета роботи

Використання найпростіших функцій для роботи з графікою Windows Forms у середовищі Microsoft Visual Studios 2010.

1.2 Практична частина та лістинг програмного коду

Файл MyForm.cpp:

#include "MyForm.h"

using namespace System;

using namespace System::Windows::Forms;

[STAThreadAttribute]

void Main(array<String^>^ args) {

Application::EnableVisualStyles();

Application::SetCompatibleTextRenderingDefault(false);

laba3::MyForm form;

Application::Run(% form);

}

Файл MyForm.h:

#pragma once

namespace laba3 {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

/// <summary>

/// Сводка для MyForm

/// </summary>

public ref class MyForm : public System::Windows::Forms::Form

{

public:

MyForm(void)

{

InitializeComponent();

//

//TODO: добавьте код конструктора

//

}

protected:

/// <summary>

/// Освободить все используемые ресурсы.

/// </summary>

~MyForm()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Timer^ timer1;

private: System::ComponentModel::IContainer^ components;

protected:

private:

/// <summary>

/// Требуется переменная конструктора.

/// </summary>

#pragma region Windows Form Designer generated code

/// <summary>

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

/// содержимое данного метода при помощи редактора кода.

/// </summary>

void InitializeComponent(void)

{

this->components = (gcnew System::ComponentModel::Container());

this->timer1 = (gcnew System::Windows::Forms::Timer(this->components));

this->SuspendLayout();

//

// timer1

//

this->timer1->Tick += gcnew System::EventHandler(this, &MyForm::timer1_Tick);

//

// MyForm

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(571, 462);

this->Name = L"MyForm";

this->Text = L"MyForm";

this->Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);

this->ResumeLayout(false);

}

#pragma endregion

private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {

timer1->Interval=50;

timer1->Start();

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {

Graphics ^g = MyForm::CreateGraphics();

g->Clear(Color::White);

Pen^ blackPen = gcnew Pen(Color::Black, 3.0f);

int x1 = 10; int y1 = 10;

int width1 = 100; int height1 = 100;

g->DrawEllipse(blackPen, x1, y1, width1, height1);

SolidBrush^ yegrBrush = gcnew SolidBrush(Color::YellowGreen);

int x2 = 120;

int y2 = 10;

int width2 = 200;

int height2 = 100;

Rectangle rect = Rectangle(x2, y2, width2, height2);

g->FillEllipse(yegrBrush,rect);

Pen^ goldPen = gcnew Pen(Color::Gold, 3.0f);

static int x = 0;

int y = 185;

int width = 200;

int height = 200;

g->DrawRectangle(goldPen, ++x, y, width, height);

}

};

}

Рисунок 3.1- Демонстрацiя роботи програми

ВИСНОВКИ

В ході виконання лабораторної роботи було розглянуто функції формування графічних об'єктів. Внаслідок чого була написана програма, яка реалізує роботу функцій малювання: Cirlce, Polygon (з Timer), FillEllipse.