2. Содержание
Введение в библиотеку MFC
История MFC
Некоторые особенности библиотеки MFC
Типы
данных WinAPI
Венгерская нотация
Иерархия классов MFC
Архитектура приложений MFC
Внешний вид приложения MFC
3. Введение в библиотеку MFC
MFC (Microsoft Foundation Classes) –
библиотека для разработки приложений с
графическим интерфейсом;
MFC – обёртка С++ над WinAPI;
MFC – часть среды программирования M$ V$
MFC, кроме классов, предлагает ряд архитектур
приложений;
MFC использует венгерскую нотацию для
именования переменных и классов
4. История MFC
Версия MFC
Версия продукта
Год
Microsoft C/C++ 7.0
1992
4.0 (mfc40.dll, в составе Windows 95)
Visual C++ 4.0
1995
4.2 (mfc42.dll, в составе Windows 98)
Visual C++ 4.2
1998
6.0 (mfc42.dll)
Visual C++ 6
1998
7.0 (mfc70.dll)
Visual C++ .NET 2002
2002
8.0 (mfc80.dll)
Visual C++ 2005
2005
9.0 (mfc90.dll)
Visual C++ 2008
2007
10.0 (mfc100.dll)
Visual C++ 2010
2010
11.0 (mfc110.dll)
Visual C++ 2012
2012
1.0
Первоначально MFC назывался Application Framework Extensions, в связи с чем
многие функции в MFC имеют префикс Afx
5. Некоторые особенности MFC:
Типы данных WinAPI
Тип
С++ эквивалент Тип
С++ эквивалент
BOOL
int
TCHAR
wchar_t
SHORT
short
LPTSTR
wchar_t*
WORD
unsigned short
LPCTSTR
const wchar_t*
DWORD
unsigned long
HANDLE
UINT
unsigned int
LPVOID
void*
BYTE
unsigned char
LPWORD
unsigned long*
CHAR
char
HWND
6. Некоторые особенности MFC:
Венгерская нотация
Префикс
Смысл
Префикс
Смысл
s
строка
h
дескриптор
sz
строка, ограниченная
нулевым символом
m_
переменная-член
n, i
целочисленная
переменная
g_
глобальная переменная
l
длинное целое
C
класс
b
булева переменная
I
интерфейс
t, dt
время, дата и время
v
отсутствие типа
p
указатель
w
слово
lp
двойной (дальний)
указатель
dw
двойное слово
pv
указатель на void
lpsz
7. Иерархия классов MFC
CObject
CCmdTarget
CWinApp
user app
CDocument
CFile
CDocTemplate
CFrameWnd
simple value
types
CDC
CWnd
CDialog
CArray
CClientDC
CGdiObject
CWindowDC
CView
CEdit
CBitmap
CBrush
CPen
controls
CButton
CPaintDC
containers
CListBox
Hierarchy Chart MFC (VS2013) - link
8. Архитектура приложений MFC
Диалоговые приложения (Dialog Based) – для
приложений, которые не должны работать с
документами (Calc, Task Manager)
Однодокументные приложения (SDI – Single
Document Interface) – работающие с одним
документом (Paint, Notepad)
Многодокументные приложения (MDI – Multi
Document Interface) – позволяющие работать сразу с
несколькими документами (Visual Studio,
Photoshop)
И другие …