
- •Лекція №1 Тема: Мова програмування: загальні поняття та означення. Загальні поняття візуального програмування план
- •2. Інтегроване середовище розробки
- •3. Основні поняття візуального програмування
- •4. Етапи розв’язування задачі на еом
- •Лекція № 2
- •Поняття та призначення відладчика програми.
- •Інтегроване середовище розробки програм. Керовані і некеровані програми
- •Поняття та призначення відладчика програми
- •3. Інтегроване середовище розробки програм. Керовані і некеровані програми
- •Контрольні запитання
- •Лекція 3
- •1 Консольний додаток
- •2. Діалоговий додаток
- •3 Багатовіконний додаток Windows
- •4.Одновіконний додаток
- •Контрольні запитання
- •Лекція № 4
- •2. Оголошення або специфікація класу
- •3. Реалізація класу
- •Контрольні запитання
- •Лекція 5
- •1. Програмне середовище Windows
- •2. Основи програмування під Windows
- •3. Типи даних в Windows
- •Переваги використання mfc (самостійно)
- •5. Архітектура додатка
- •6. Типи майстрів проектів (самостійно)
- •7. Обробка подій в додатках класу mfc
- •Повідомлення миші
- •Введення за допомогою миші
- •Контрольні запитання
- •Лекція 6 Тема: Програмування інтерфейсу користувача: кнопки, списки план:
- •2. Обробка натискання кнопки
- •3. Клас cListBox
- •2. Завдання реакції на вибір в ComboBox
- •3. Операції з елементами
- •4. Діалог в якості головного вікна
- •Контрольні запитання
- •Лекція 8 Тема: Програмування інтерфейсу користувача: меню, діалогові вікна план
- •2. Створення обробника меню
- •3. Додавання діалогового вікна
- •4. Додавання діалогу за допомогою класу
- •5. Обмін даними з діалогом
- •4. Назвіть послідовність етапів створення діалогу за допомог класу?
- •2. Забезпечення видалення, редагування, додавання записів в бд
- •3. Забезпечення сортування та фільтрації записів з бд.
- •4.Стандарт odbc і dao
- •Контрольні запитання
2. Завдання реакції на вибір в ComboBox
Для початку давайте передамо деяке значення з нашого ComboBox'а в головне вікно програми. Передане значення з'явиться в заголовку головного вікна. Для цього внесіть в обробник меню (того самого, при виклику якого з'являється наш діалог) такі зміни:
void CMyMainWnd :: OnMyMenuDialog ()
{
CDlg dlg;
dlg.m_sName = m_sName;
if (dlg.DoModal () == IDCANCEL) / / якщо натиснули на cancel,
return; / / то виходимо
m_sName = dlg.m_sName;
SetWindowText (m_sName);
}
Тепер залишилося тільки додати в клас CMyMainWnd змінну m_sName типу CString:
public: CString m_sName; ...
Тепер при запуску програми обраний нами значення з ComboBox'а буде з'являтися у заголовку нашого вікна:
3. Операції з елементами
Розглянемо тепер операції з елементами ComboBox'а. Основні з них - це додавання в кінець списку (AddString, розглянута на минулому уроці), вставки (InsertString), видалення (DeleteString) і знаходження потрібної рядки (FindString). Їх використання ясно з наступного прикладу:
BOOL CDlg::OnInitDialog()
{ ...
m_cbComboBox.AddString("Ушку");
//вставка строки на первое место (нумерация с нуля!)
m_cbComboBox.InsertString(1,"Новая строка");
//удаление строки номер ноль (нумерация с нуля!)
m_cbComboBox.DeleteString(0); //ищем строку
Victor //Если она есть, то ее номер запишется в k
int k=m_cbComboBox.FindString(0, "Victor");
if(k==CB_ERR) //Если такой строки нет, то k будет равно CB_ERR
AfxMessageBox("Сторока не найдена!");
Else
{
CString s;
s.Format("Строка найдена на %d-м месте.",k);
AfxMessageBox(s);
}
... }
З важливих функцій варто ще згадати ResetContent, яка служить для видалення з ComboBox'а всіх його елементів. Приклад її використання:
... m_cbComboBox.ResetContent (); ...
4. Діалог в якості головного вікна
У цьому питанні ми з вами подивимося, як можна створити програму на базі діалогового вікна.
Для початку зробимо кілька стандартних кроків, а саме зробимо додаток типу Win32 Application з ім'ям Dialog_based:
Додамо в нього файл Dialog_based.cpp. Не забудемо змінити настоянки проекту на використання MFC (Project-> Settings, далі вкладка General):
Тепер додаємо ресурс діалогового вікна (Insert-> Resource-> Dialog, далі кнопка New). У діалоговому вікні нічого змінювати не будемо - нехай поки там будуть тільки дві кнопки - OK і Cancel (Додавати будемо в наступних уроках).
Натисніть далі на кнопку Save All й для ресурсу нашого діалогу введіть ім'я Resource.rc:
Тепер ми повинні додати файли нашого діалогу в проект (Project-> Add to Project-> Files, далі вибираємо resource.h і resource.rc, натискаємо на OK). У нашому проекті повинна з'явиться вкладка Resource, а на вкладці FileView з'являться два приєднаних файлу:
Далі додаємо наступний код:
# include "afxwin.h"
# include "resource.h" / / для використання CDialog
class CMyDlg: public CDialog
{/ / Наш клас - нащадок CDialog
public: CMyDlg (CWnd * pParent = NULL);
};
/ / створюємо діалог на нашу шаблоном
CMyDlg :: CMyDlg (CWnd * pParent): CDialog (IDD_DIALOG1, pParent)
{}
class CMyApp: public CWinApp
{
public: virtual BOOL InitInstance ();
};
BOOL CMyApp :: InitInstance ()
{
CMyDlg dlg; m_pMainWnd = &dlg; dlg.DoModal ();
/ / показуємо діалог
return TRUE;
}
CMyApp theApp;
Тепер запускаємо нашу програму. З'явиться діалогове вікно: