SlideShare uma empresa Scribd logo
1 de 9
ВВЕДЕНИЕ В MFC
Mihail Croitor
Содержание




Введение в библиотеку MFC
История MFC
Некоторые особенности библиотеки MFC
 Типы

данных WinAPI
 Венгерская нотация




Иерархия классов MFC
Архитектура приложений MFC
Внешний вид приложения MFC
Введение в библиотеку MFC








MFC (Microsoft Foundation Classes) –
библиотека для разработки приложений с
графическим интерфейсом;
MFC – обёртка С++ над WinAPI;
MFC – часть среды программирования M$ V$
MFC, кроме классов, предлагает ряд архитектур
приложений;
MFC использует венгерскую нотацию для
именования переменных и классов
История 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
Некоторые особенности 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
Некоторые особенности MFC:
Венгерская нотация
Префикс

Смысл

Префикс

Смысл

s

строка

h

дескриптор

sz

строка, ограниченная
нулевым символом

m_

переменная-член

n, i

целочисленная
переменная

g_

глобальная переменная

l

длинное целое

C

класс

b

булева переменная

I

интерфейс

t, dt

время, дата и время

v

отсутствие типа

p

указатель

w

слово

lp

двойной (дальний)
указатель

dw

двойное слово

pv

указатель на void

lpsz
Иерархия классов 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
Архитектура приложений MFC








Диалоговые приложения (Dialog Based) – для
приложений, которые не должны работать с
документами (Calc, Task Manager)
Однодокументные приложения (SDI – Single
Document Interface) – работающие с одним
документом (Paint, Notepad)
Многодокументные приложения (MDI – Multi
Document Interface) – позволяющие работать сразу с
несколькими документами (Visual Studio,
Photoshop)
И другие …
Внешний вид приложения MFC
Title Bar
Menu Bar
Tool Bar

Work Space
Scroll Bar

Status Bar

Mais conteúdo relacionado

Semelhante a Введение в MFC

10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
KewpaN
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
KewpaN
 
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельноBorland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
StAlKeRoV
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
Anastasia Snegina
 
Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.
StAlKeRoV
 

Semelhante a Введение в MFC (20)

10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
 
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельноBorland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Beginning mef by Владимир Лисник
Beginning mef by Владимир ЛисникBeginning mef by Владимир Лисник
Beginning mef by Владимир Лисник
 
лекция 3
лекция 3лекция 3
лекция 3
 
лек11 1
лек11 1лек11 1
лек11 1
 
внедрении Wpf в сложных системах
внедрении Wpf в сложных системахвнедрении Wpf в сложных системах
внедрении Wpf в сложных системах
 
Введение в MEF
Введение в MEFВведение в MEF
Введение в MEF
 
архитектура .Net
архитектура .Netархитектура .Net
архитектура .Net
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Сущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreСущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCore
 
Encom Aurora - Александр Попов - митап на DevConf
Encom Aurora - Александр Попов - митап на DevConfEncom Aurora - Александр Попов - митап на DevConf
Encom Aurora - Александр Попов - митап на DevConf
 
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCoreКраткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
 
Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.Visual C++/NET. Классика программирования. Степаненко О.Е.
Visual C++/NET. Классика программирования. Степаненко О.Е.
 
.NET Development
.NET Development.NET Development
.NET Development
 

Mais de mcroitor

Mais de mcroitor (20)

09 server mgmt_ii_ro
09 server mgmt_ii_ro09 server mgmt_ii_ro
09 server mgmt_ii_ro
 
09 server mgmt_ii_ru
09 server mgmt_ii_ru09 server mgmt_ii_ru
09 server mgmt_ii_ru
 
10 server security_ro
10 server security_ro10 server security_ro
10 server security_ro
 
10 server security_ru
10 server security_ru10 server security_ru
10 server security_ru
 
08 server mgmt_ro
08 server mgmt_ro08 server mgmt_ro
08 server mgmt_ro
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_ru
 
07 virtual hosts_ru
07 virtual hosts_ru07 virtual hosts_ru
07 virtual hosts_ru
 
07 virtual hosts_ro
07 virtual hosts_ro07 virtual hosts_ro
07 virtual hosts_ro
 
06 php instalation_ro
06 php instalation_ro06 php instalation_ro
06 php instalation_ro
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
05 db server_deployment_ro
05 db server_deployment_ro05 db server_deployment_ro
05 db server_deployment_ro
 
05 db server_deployment_ru
05 db server_deployment_ru05 db server_deployment_ru
05 db server_deployment_ru
 
04 web server_deployment_ro
04 web server_deployment_ro04 web server_deployment_ro
04 web server_deployment_ro
 
04 web server_deployment_ru
04 web server_deployment_ru04 web server_deployment_ru
04 web server_deployment_ru
 
03 web server_architecture_ro
03 web server_architecture_ro03 web server_architecture_ro
03 web server_architecture_ro
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_ru
 
02 server hardware_ro
02 server hardware_ro02 server hardware_ro
02 server hardware_ro
 
02 server hardware_ru
02 server hardware_ru02 server hardware_ru
02 server hardware_ru
 
01 server definition_ro
01 server definition_ro01 server definition_ro
01 server definition_ro
 
01 server definition
01 server definition01 server definition
01 server definition
 

Введение в MFC

  • 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) И другие …
  • 9. Внешний вид приложения MFC Title Bar Menu Bar Tool Bar Work Space Scroll Bar Status Bar