
- •Методичні вказівки до практичних робіт
- •Практическая работа №1
- •Хід роботи:
- •Пример выполнения 2
- •Практична робота № 2
- •Хід роботи
- •Контрольні запитання
- •Практична робота № 3
- •Завдання
- •Хід роботи:
- •Створення малюнка і реакції на клавішу миші
- •Практическая работа № 4
- •Контрольні запитання
- •Практична робота № 5
- •Хід роботи:
- •2. Створення ComboBox
- •2. Завдання реакції на вибір в ComboBox
- •2. Операції з елементами
- •2. Ініціалізація списку при виборі пункту меню
- •Практична робота № 6
- •Хід роботи:
- •Практична робота № 7 Тема: Розробка додатка управління базою даних
- •Варіанти завдання:
- •Хід роботи:
- •1. Створення додатка, що відображає дані з бд
- •2. Забезпечення видалення, редагування, додавання записів в бд
- •Забезпечення сортування та фільтрації записів з бд.
- •4.Стандарт odbc і dao
- •Генерация приложения, связанного с базой данных
- •Панель инструментов
Контрольні запитання
1. Що називається класом об'єктів?
2. Дайте визначення поняттю клас?
3. Дайте визначення поняттю об'єкт?
4. Дайте визначення поняттю член класу?
5. Наведіть синтаксис опису класу?
6. Які змінні називаються даними-членами класу та функціями-членами класу?
7. Яку операцію називають операцією розширення області видимості, її форма запису?
8. Які ви знаєте специфікатори доступу до членів класу?
9. Що називається конструктором і деструктором в об'єктно-орієнтованому програмуванні, для чого вони служать?
Практична робота № 3
Тема: Створення додатка за допомог класу MFC та обробка повідомлень
Мета: навчитися користуватися майстром додатків Visual C + + і створювати обробники подій в середовищі Visual C + +
Завдання
1. Створити додаток, в якому по клацанню лівої кнопки мишки на малюнку буде виводитися вікно повідомлень «Ліва кнопка миші»
2. Створити додаток, в якому по кліку правої кнопки мишки буде виводитися наступний малюнок
3. Створити додаток, в якому здійснювалося б малювання за допомогою миші
Хід роботи:
Створення малюнка і реакції на клавішу миші
#include <afxwin.h>
class CMyMainWnd : public CFrameWnd
{
public:
CMyMainWnd()
{ // конструктор
Create(NULL,"My title");
}
afx_msg void OnLButtonDown(UINT, CPoint);
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CMyMainWnd,CFrameWnd)
ON_WM_LBUTTONDOWN()
ON_WM_PAINT()
END_MESSAGE_MAP()
class CMyApp : public CWinApp
{
public:
CMyApp(){}; // конструктор
virtual BOOL InitInstance()
{
m_pMainWnd=new CMyMainWnd();
m_pMainWnd->ShowWindow(SW_SHOW);
return TRUE;
}
};
CMyApp theApp;
void CMyMainWnd::OnLButtonDown(UINT, CPoint) //Создание окна сообщений
{
AfxMessageBox("Левая кнопка мыши");
}
void CMyMainWnd::OnPaint() // рисование простых фигур
{
CPaintDC* pDC=new CPaintDC(this);
pDC->Rectangle(10,10,500,500);
pDC->Ellipse(10,130,500,500);
pDC->MoveTo(500,300);
pDC->LineTo(800,130);
}
Рис. 3.1 - Результати роботи програми
КОНТРОЛЬНІ ЗАПИТАННЯ
Що ви розумієте під терміном автоматизація процесу створення додатка?
Що таке MFC AppWizard, для чого він потрібен?
Що таке MFC?
Дайте визначення API (Application Programming Interfase)?
Дайте визначення DLL, які функції вона виконує?
Як ви розумієте визначення многозадачність в Windows?
Як організован цикл повідомлень в Windows?
Назвіть переваги використання MFC?
Назвіть типи майстрів проектів?
Назвіть переваги використання майстрів проектів?
Что обозначает термин управляемый событиями?
Перечислите основные операции с мышью?
Приведите примеры сообщений win32, связанные с событиями мыши?
Как осуществить ввод с помощью мыши?
Какие методы для работы с мышью вы знаете?
Практическая работа № 4
Тема: Програмування інтерфейсу користувача: меню
Цель: Навчитися створювати користувальницьке меню
Завдання: Розробити користувача меню.
Перед Розработка меню необхідно створити додаток, заснований на діалозі, процес створення таких додатків опис вище в попередніх роботах.
Далі нам необхідно додати новий ресурс, тип нового ресурсу - меню. (insert-> resourse-> menu), як показано на малюнку 4.1.
Рис. 4.1 - Додавання нового ресурсу меню
Далі в Resource view ми бачимо новий пункт. Далі ми переступаємо до редагування зовнішнього вигляду нашого меню. У верхній частині вікна ми бачимо прямокутник, окреслений пунктирною лінією. Тиснемо на ньому правою кнопкою миші і вибираємо пункт properties (див. рис. 4.2).
Рис. 4.2 - Вікно властивостей меню
Таким чином, ми створили перший пункт нашого меню, створимо ще кілька пунктів нижче.
Рис. 4.3 - Створення меню
Хочу звернути вашу увагу на те, що при створенні першого пункту, прапорець pop-up був відзначений, що означає, що даний пункт меню служить для розміщення підменю, вкладених в нього, він не може мати власного ID.
Тепер спробуємо зробити кілька вкладених пунктів у другій пункт меню. Для цього у властивостях другого пункту необхідно встановити прапорець pop-up (див. рис.4.4).
Рис. 4.4 - Створення вкладених пунктів меню
Після виконання цієї дії правіше другого пункту меню ми побачимо прямокутник, окреслений пунктирною лінією, натиснувши на ньому правою кнопкою миші, ми можемо додати підпункт.
Рис. 4.5 - Створення вкладених пунктів меню
У Властивостях будь-якого з пунктів ми можемо встановити прапорець cheeked, при цьому правіше пункту меню з'явиться символ «пташка» (див. рис.4.6).
Рис. 4.6 - Установка прапорця cheeked
Далі ми повинні пов'язати наше меню з рештою проектом.
Для цього в ResourceView вибираємо наше головне діалогове вікно (див. рис. 4.7).
Рис. 4.7 - Головне вікно
Тиснемо на ньому правою кнопкою миші.
І в пункті меню (menu) вибираємо створене нами меню (див. рис. 4.8). При запуску проекту меню вже повинно з'явиться на головному вікні. Однак при виборі пунктів меню не виконуються ніякі дії.
Рис. 4.8 - Вибір створеного нами меню
Далі перейдемо в режим FileView і знайдемо файл menu_createDlg.h
Додамо наступний рядок:
CMenu m_menu;
Як показано на малюнку 4.9 нижче.
Рис. 4.9 - Додавання програмного коду для створення меню
A в файл menu_createDlg.cpp
код
m_menu.LoadMenu(IDR_MENU1);
SetMenu(&m_menu);
Як показано на малюнку 4.10.
Рис. 4.10 - Додавання програмного коду для створення меню
Далі необхідно прибрати раніше обраний нами у властивості вікна пункт меню (див. рис. 4.11).
Рис. 4.11 - Прибрати раніше обраний нами у властивості вікна пункт меню
Тепер переходимо на View-> ClassWizard-> MessageMaps. Далі зліва вибираємо пункт меню, правіше Command і тиснемо кнопку AddFunction.
Рис. 4.12 - Створення функції обробника реакції на обраний пункт меню
Рис. 4.12 - Створення функції обробника реакції на обраний пункт меню
Далі тиснемо кнопку editcode для переходу у вікно з програмним кодом і його редагування.
Рис. 4.13 - Вікно програми
Тепер ми можемо редагувати дії по натисненню даного пункту меню. Id в назві функції відповідає id пункту меню. Створимо на головній формі елемент edit і зв'яжемо його з змінної m_a і додамо наступний код в оброблювач (див. рис. 4.14, 4.15):
m_a=3;
UpdateData(FALSE);
У підсумку код обробника виглядає так:
void CMenu_createDlg::OnMenuitem32772()
{
// TODO: Add your command handler code here
m_a=3;
UpdateData(FALSE);
}
Рис. 4.14 - Створення на головній формі елемента edit
Рис. 4.15 - Створення змінної А
Тепер при натисканні третього пункту в edit виводиться значення 3 (дивіться вище код обробника), як показано на рис. 4.16.
Рис. 4.16 - Результати роботи програми