Біблиотека MFC

Содержание

Слайд 2

План лекції Бібліотека MFC Загальні класи для представлення даних Вікна повідомлень Клас додатку Клас вікна

План лекції

Бібліотека MFC
Загальні класи для представлення даних
Вікна повідомлень
Клас додатку
Клас вікна

Слайд 3

Microsoft Foundation Classes Зменшення зусиль з програмування додатків під Windows. Мінімальний

Microsoft Foundation Classes

Зменшення зусиль з програмування додатків під Windows.
Мінімальний розмір допоміжного

коду.
Швидкість виконання програм, написаних за допомогою MFC порівнянна з програмами, написаними з використанням WIN32 Api.
Слайд 4

Віртуальні деструктори

Віртуальні деструктори

Слайд 5

Віртуальні деструктори

Віртуальні деструктори

Слайд 6

Клас CPoint // Точка CPoint(); Cpoint(init X, initY ); void Offset(

Клас CPoint // Точка

CPoint(); Cpoint(init X, initY ); void Offset(

int xOffset, int yOffset ); // збільшення BOOL operator ==( POINT point ) const; BOOL operator !=( POINT point ) const;
Атрибути int X, Y - координаты
Слайд 7

Клас CString // Рядок CString( ); CString(stringSrc ); int GetLength( )

Клас CString // Рядок

CString( ); CString(stringSrc ); int GetLength( ) const; BOOL

IsEmpty( ) const;
void Empty( ); рядок- об’єкт[nIndex]
// з врахуванням регістру == != < > <= >= int Replace( TCHAR chOld, TCHAR chNew ); //повертає кількість виконаних замін
Слайд 8

Клас CString // Рядок int Remove(ch ); // повертає кількість //видалень

Клас CString // Рядок

int Remove(ch ); // повертає кількість //видалень int Insert(nIndex,

ch ); //повертає нову довжину рядка int Delete( int nIndex, int nCount = 1 ); // Видалення nCount //символів, починаючи з позиції nIndex, // повертає кількість видалень int Find(ch ) const; // пошук символа чи фрагмента рядка // повертає індекс знайденого елемента // або -1якщо елементів не було void Format(string_Format, ... );// Форматоване виведення в рядок-//об’єкт
int h = 1, m = 12;
s.Format("Hello, World !\r%d:%d", h, m);
Слайд 9

Вікна повідомлень int AfxMessageBox(lpszText, nType=MB_OK, nIDHelp=0); Текст повідомлення Номер разділу довідки Тип вікна

Вікна повідомлень

int AfxMessageBox(lpszText, nType=MB_OK, nIDHelp=0);

Текст повідомлення

Номер разділу довідки

Тип вікна

Слайд 10

Вікна повідомлень if (AfxMessageBox(«Видалити всі файли?", MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION) == IDYES) { //виконуємо

Вікна повідомлень

if (AfxMessageBox(«Видалити всі файли?", MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION) == IDYES) { //виконуємо видалення }

Кнопки за

замовчуванням:
MB_DEFBUTTON1, MB_DEFBUTTON2 або MB_DEFBUTTON3
Слайд 11

Вікна повідомлень int MessageBox(lpszText, lpszCaption=NULL, UINT nType=MB_OK); Тип вікна і результат

Вікна повідомлень

int MessageBox(lpszText, lpszCaption=NULL, UINT nType=MB_OK);
Тип вікна і результат – ті

ж
функцію MessageBox можна викликати тільки за умови наявності головного вікна
Довільний заголовок
Слайд 12

Клас додатку CWinApp CWinApp (lpszAppName) BOOL InitInstance() CConvertDlg dlg; m_pMainWnd =

Клас додатку CWinApp

CWinApp (lpszAppName)
BOOL InitInstance()
CConvertDlg dlg; m_pMainWnd = &dlg; int nResponse = dlg.DoModal(); if

(nResponse == IDOK) { // TODO: Place code here } else if (nResponse == IDCANCEL) { // TODO: Place code here }
SetDialogBkColor (RGB(192, 192, 192), RGB(0, 0, 0) );
/* викликаєтья в функції InitInstance()*/

Фрагмент (формується автоматично)

Слайд 13

Клас додаткуCWinApp Run() /* запускає цикл обробки повідомлень*/ ExitInstance(); /*викликається тільки

Клас додаткуCWinApp

Run()
/* запускає цикл обробки повідомлень*/
ExitInstance();
/*викликається тільки з функції Run для

завершення роботи поточного екземпляра додатку*/
Слайд 14

Клас вікна CWnd HWND m_hWnd //дескриптор вікна SetFocus( ); /* передача

Клас вікна CWnd

HWND m_hWnd //дескриптор вікна
SetFocus( ); /* передача фокуса

вікну і повертає покажчик на вікно, яке володіло фокусом*/

SetWindowText(String ); /*заголовок вікна*/
UpdateData (1 або 0)
EnableWindow (1 або 0)
ShowWindow (1 або 0)

Слайд 15

Клас діалогу СDialog CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );

Клас діалогу СDialog

CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
DoDataExchange()

Обробники подій
OnInitDialog(

);
OnOK( );
OnCancel( );