Практикум на ЭВМ технология программирования в среде С++




Скачать 409.93 Kb.
Название Практикум на ЭВМ технология программирования в среде С++
страница 5/12
Дата публикации 31.05.2014
Размер 409.93 Kb.
Тип Документы
literature-edu.ru > Курсовая работа > Документы
1   2   3   4   5   6   7   8   9   ...   12

3Графика


Рассмотрим начала использования библиотек Microsoft для рисования.

Создадим проект. Выберем Win32 Application. Выбираем File New и переключаемся на вкладку Project. Введя имя, проекта нажимаем OK.



Появится окошко мастера проектов. В нем мы выберем пустой проект - An Empty Project. И нажмем кнопку Finish для подтверждения своего выбора. IDE VC++ начнет генерацию серии файлов необходимых для работы с проектом и его сборки.



Добавим в наш проект файл, в котором будет исходный код. Мы же с вами выбрали пустой проект и нам нужен cpp файл в этом проекте. Вам нужно перейти на вкладку FileView и щелкнуть правой кнопкой мыши на step1 files. Выбрать пункт меню Add File to Project.



Появится диалоговое окно добавления файла в проект Insert Files Into Project. У нас файла нет. Поэтому надо просто написать его имя с расширением и нажать OK.



В нашем случае именем проекта является номер задачи (Task123), а хранить проект нужно под тем же именем в своей папке.

Теперь нужно настроить проект так, чтобы он использовал MFC. Это очень важно. MFC находится в DLL файлах. И если наш проект будет использовать MFC, мы должны это указать для того, чтобы компилятор мог подключить необходимые LIB файлы со ссылками на функции в DLL. Если этого не сделать, то проект не соберется. В окне Build будут такие ошибки.

Linking...

nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

nafxcw.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

Release/step1.exe : fatal error LNK1120: 2 unresolved externals

Error executing link.exe.

Нам нужно пойти в меню Project, а потом Setting.



Вот здесь и вот так. Не забудем проверить поддержку MFC для всех типов (Setting For).



В файле запишем код.
//Рисование средствами библиотеки MFC

#include "afxwin.h" // MFC Основные и стандартные компоненты

#include "afxext.h" // MFC Расширения
class CMainWnd : public CFrameWnd

{

public:

CMainWnd(); // Конструктор по умолчанию

int OnCreate(LPCREATESTRUCT lpCreateStruct); // эта функция //вызывается при создании окна

afx_msg void OnPaint(); // Переопределяем функцию рисования в окне

~CMainWnd(); // Деструктор

private:

CStatusBar m_wndStatusBar; // класс панели состояния

DECLARE_MESSAGE_MAP(); // таблица откликов

};
BEGIN_MESSAGE_MAP(CMainWnd, CFrameWnd) // таблица откликов на //сообщения

ON_WM_CREATE() // событие создания окна

ON_WM_PAINT() // Это реакция. Если нет этой строчки ,

// Бог вам судья.

END_MESSAGE_MAP()
void CMainWnd::OnPaint()

{

CPaintDC dc(this); // Получить контекст устройства

CPen MyPen(PS_DASHDOT,2,RGB(0,255,0)); //настраиваем перо

CPen MyPen1(PS_DASHDOT,2,RGB(255,255,255)); //настраиваем перо

dc.SelectObject(MyPen); //Выбираем перо

dc.TextOut(100,100,"Привет от MFC Programm"); //Написать в нем привет

dc.MoveTo(300,300); // Начать рисовать линию

dc.LineTo(600,125); // И продолжить рисовать линию

dc.LineTo(105,125); // И еще продолжить рисовать линию

//Прямоугольник

dc.Draw3dRect(200,200,300,400, RGB(255, 0, 0), RGB(0, 255, 0));

//Окружность в движении

for(int i=0;i<500;++i)

{ //Бегущая по диагонали окружность

dc.SelectObject(MyPen); //Меняем перо

dc.Ellipse(200+i,200+i,250+i,250+i); //Рисуем

for(long j=0; j<1000000; ++j); //Задержка

dc.SelectObject(MyPen1); //Меняем перо

dc.Ellipse(200+i,200+i,250+i,250+i); //Стираем

dc.SelectObject(MyPen); //Меняем перо

dc.Ellipse(200+i+1,200+i+1,250+i+1,250+i+1); //Рисуем в другом месте

}//End For

}
int CMainWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{

if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;

m_wndStatusBar.Create(this);

return 0;

}
CMainWnd::CMainWnd() // Конструктор по умолчанию

{

Create(NULL,"Paint",WS_OVERLAPPEDWINDOW,rectDefault,

NULL,NULL); // Создать окно программы

// оператор new, по умолчанию, в случае ошибки вернет NULL

// проверка указателя на NULL дает возможность избавиться от дальнейших //ошибок

}
CMainWnd::~CMainWnd()

{}
class CMyApp : public CWinApp

{

public:

CMyApp(); //Конструктор по умолчанию

virtual BOOL InitInstance(); //Cтандартная инициализация

};
CMyApp::CMyApp() //Конструктор главного класса приложения

{}
BOOL CMyApp::InitInstance() //Стандартная инициализация

{

m_pMainWnd=new CMainWnd(); //Создать класс окна

ASSERT(m_pMainWnd); //Проверить его правильность

m_pMainWnd->ShowWindow(SW_SHOW); //Показать окно

m_pMainWnd->UpdateWindow(); //Обновить окно

return TRUE; //Вернуть что все нормально

};
CMyApp theApp; //Запуск приложения

Результатом запуска программы является окно:

Окружность пробегает диагональ слева направо. Видны части сторон прямоугольника, стертые при движении окружности.

Для построения графика функции f(x) используется следующая технология:

y = f(x)

dc.MoveTo(x,y); // Начать рисовать график

Цикл i = 1 to N

x += dx //Увеличить х

y = f(x)

dc.LineTo(x, y); // Продолжить рисовать график

Конец цикла
1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Практикум на ЭВМ технология программирования в среде С++ icon Практикум на ЭВМ среда программирования и отладка программ
Рыков В. И. Среда Microsoft Visual C++ и отладка программ. Технология работы с языком С++. /Издание Башкирского ун-та. Уфа 2006....
Практикум на ЭВМ технология программирования в среде С++ icon Основы информатики и вычислительной техники системы программирования
Рассматриваются основные понятия языков программирования. Излагаются процедурный и объектный подходы в программировании. Более подробно...
Практикум на ЭВМ технология программирования в среде С++ icon Рабочая программа по курсу «основы Программирования на языке ассемблер»
Программа предназначена для обучения основам программирования на языке низкого уровня Ассемблере учащихся средних школ, учреждений...
Практикум на ЭВМ технология программирования в среде С++ icon Программа учебной дисциплины «Управление данными»
«Математика», «Информатика», «Программирование на языках высокого уровня», «Дискретная математика», «Объектно-ориентированное программирование»,...
Практикум на ЭВМ технология программирования в среде С++ icon Практикум по спортивной психологии Санкт-Петербург
...
Практикум на ЭВМ технология программирования в среде С++ icon Реферат по теме: "Строение персональных компьютеров ibm pc"
Эвм и мини ЭВМ. Это стало предметом серьезного беспокойства фирмы ibm (International Bussines Machines Corporation) ведущей компании...
Практикум на ЭВМ технология программирования в среде С++ icon Конспект лекций доцента и. А. Волковой по курсу «системы программирования»
Система программирования – комплекс программных инструментов и библиотек, который поддерживает создание и существование программного...
Практикум на ЭВМ технология программирования в среде С++ icon План лекции: Задачи, решаемые вычислительными центрами Структура...
Создание вычислительных центров является способом повышения эффективности работы ЭВМ. Вычислительный центр объединяет технику различных...
Практикум на ЭВМ технология программирования в среде С++ icon Ментальное моделирование как технология понимания текста на примере книг Карлоса Кастанеды
Ваша собственная ментальная программа. Поэтому вполне может случиться, что некоторые ментальные программы не могут быть отмоделированы...
Практикум на ЭВМ технология программирования в среде С++ icon Практикум по когнитивной терапии
М15 Практикум по когнитивной терапии: Пер с англ. — Спб.: Речь, 2001. — 560 с. Isbn 5-9268-0036-6
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции