Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Microsoft Foundation Classes



План:


Введення

Пакет Microsoft Foundation Classes (MFC) - бібліотека на мові C + +, розроблена Microsoft і покликана полегшити розробку GUI -додатків для Microsoft Windows шляхом використання багатого набору бібліотечних класів.


1. Принцип дії

Бібліотека MFC, як і її основний конкурент, Borland VCL, полегшує роботу з GUI шляхом створення каркаса додатка - "скелетної" програми, автоматично створюваної за заданим макету інтерфейсу і повністю бере на себе рутинні дії по його обслуговуванню (відпрацювання віконних подій, пересилання даних між внутрішніми буферами елементів і змінними програми і т. п.). Програмісту після генерації каркаса додатка необхідно лише вписати код в місця, де потрібні спеціальні дії. Каркас повинен мати цілком певну структуру, тому для його генерації та зміни в Visual C + + передбачені майстра.

Крім того, MFC надає об'єктно-орієнтований шар обгорток ( англ. wrappers ) Над безліччю функцій Windows API, що робить декілька більш зручною роботу з ними. Цей шар представляє безліч вбудованих в систему об'єктів (вікна, віджети, файли і т. п.) у вигляді класів та знову ж бере на себе рутинні дії начебто закриття дескрипторів і виділення / звільнення пам'яті.


1.1. Додавання коду в каркас додатка

Додавання коду додатка до каркаса реалізовано двома способами. Перший використовує механізм спадкування : основні програмні структури каркасу представлені у вигляді класів, успадкованих від бібліотечних. У цих класах передбачено безліч віртуальних функцій, що викликаються в певні моменти роботи програми. Шляхом довизначення (в більшості випадків необхідно викликати функцію базового класу) цих функцій програміст може додавати виконання в ці моменти свого коду.

Другий спосіб використовується для додавання обробників віконних подій. Майстер створює усередині каркасів класів, пов'язаних з вікнами, спеціальні масиви - карти (віконних) повідомлень ( англ. message map ), Що містять пари "ВД повідомлення - покажчик на обробник". При додаванні / видаленні обробника майстер вносить зміни до відповідну карту повідомлень.


2. Історія

Перша версія MFC була випущена разом з сьомою версією 16-розрядного компілятора мови C / C + + компанії Microsoft в 1992 році. Для тих, хто займався розробкою додатків з використанням API -функцій, пакет MFC обіцяв вельми значне підвищення продуктивності процесу програмування.

Однією з примітних особливостей MFC є префікс "Afx", використовуваний в іменах багатьох функцій, макросів і назві стандартного заголовного файлу "stdafx.h". На ранній стадії розробки, те, що згодом стало називатися MFC, мало назву "Application Framework Extensions" і абревіатуру "Afx". Рішення змінити назву на Microsoft Foundation Classes (MFC) було ухвалене надто пізно, щоб міняти згадки Afx в коді.

Object Windows Library (OWL), розроблена компанією Borland для роботи з власним компілятором C + +, була конкуруючим продуктом, представленим в той же період. Зрештою Borland припинила розробку OWL і придбала короткострокову ліцензію на використання бібліотек для роботи з MFC, але так і не запропонувала повної підтримки MFC в своїх продуктах. Пізніше Borland випустила VCL в якості заміни OWL.

Упор компанії Microsoft на MFC був ослаблений на користь Microsoft. NET Framework. Однак, незважаючи на це, MFC як і раніше залишається популярною серед розробників.

У квітні 2008 року Microsoft випустила, після багаторічного бездіяльності, значне оновлення до MFC під назвою MFC Feature Pack. Це оновлення пропонувалося до установки як додаток до Visual Studio 2008. В основі своїй це були додаткові класи MFC, права на які були придбані у російської фірми BCGSoft [1]. У MFC включалася підтримка нового інтерфейсу Ribbon і кілька інших удосконалень, пов'язаних з поліпшеними інтерфейсними елементами управління. Після випущеного пакета оновлень для Visual Studio 2008 дані класи стали невід'ємною частиною MFC.


3. Версії

Версія продукту Версія MFC Рік виходу
Microsoft C / C + + 7.0 MFC 1.0 1992
Visual C + + 1.0 MFC 2.0 (введена архітектура документ-подання)
Visual C + + 1.5 MFC 2.5 (реалізована підтримка технологій ODBC і drag-and-drop)
Visual C + + 1.52c MFC 2.5 (остання платформа розробки для MS Windows 3.x)
Visual C + + 2.0 MFC 3.0 (з'явилася можливість реалізації багатозадачності і підтримка Unicode)
Visual C + + 2.1 MFC 3.1
Visual C + + 2.2 MFC 3.2
Visual C + + 4.0 MFC 4.0 (mfc40.dll включена до складу Windows 95) Серпень 1995
Visual C + + 4.1 MFC 4.1
Visual C + + 4.2 MFC 4.2 (mfc42.dll включена в первинний випуск Windows 98) Березень 1998
eMbedded Visual C + + 3.0 MFC 4.2 (mfc42.dll)
Visual C + + 5.0 MFC 4.21 (mfc42.dll), значне оновлення MFC 4.2.
Visual C + + 6.0 MFC 6.0 (mfc42.dll) 1998
eMbedded Visual C + + 4.0 MFC 6.0 (mfcce400.dll)
Visual C + +. NET 2002 (Visual C + + 7.0) MFC 7.0 (mfc70.dll),. NET 1.0 Лютий 2002
Visual C + +. NET 2003 (Visual C + + 7.1) MFC 7.1 (mfc71.dll),. NET 1.1 Квітень 2003
Visual C + + 2005 1 (Visual C + + 8.0) MFC 8.0 (mfc80.dll),. NET 2.0 Жовтень 2005
Visual C + + 2008 1 (Visual C + + 9.0) MFC 9.0.21022 (mfc90.dll),. NET 3.5 Листопад 2007
Visual C + + 2008 1 with Feature Pack MFC 9.0.30411 (mfc90.dll) Квітень 2008
Visual C + + 2008 1 SP1 MFC 9.0.30729 (mfc90.dll) Серпень 2008
Visual C + + 2008 1 Security Update (KB971092) MFC 9.0.30729.4148 (mfc90.dll) Липень 2009
Visual C + + 2010 MFC 10.0.30319.1 (mfc100.dll),. NET 4.0 Квітень 2010
  • 1 Бібліотека MFC не входить в Visual Studio редакції Express.

Примітки

  1. BCGSoft: About us - www.bcgsoft.com / about.htm
Перегляд цього шаблону Microsoft Foundation Classes
Архітектура додатка CCmdTarget CWinThread CWinApp CDocument CDocTemplate CDocItem COleControlContainer
Віконні об'єкти CWnd CFrameWnd CControlBar CPropertySheet CDialog CView CButton CComboBox CEdit CStatic ...
Винятки CException CArchiveException CSimpleException
Робота з файлами CFile CSocketFile CStdioFile
Засоби малювання CDC CGdiObject CPaintDC CClientDC CWindowDC CMetaFileDC
Бази даних CDatabase CRecordset CDaoDatabase CDaoRecordset CDaoQueryDef CDaoTableDef CDaoWorkspace CLongBinary
Синхронізація CSyncObject CAsyncSocket
Масиви, списки CArray CList CMap
Прості типи CObject CFileTime CFileTimeSpan CPoint CRect CSize CString CTime CTimeSpan CArchive CMultiLock CSingleLock
Перегляд цього шаблону Інструменти розробки елементів графічного інтерфейсу
Низько-
рівневі

Macintosh Toolbox / Carbon Windows API Intrinsics Intuition Xlib

Високо-
рівневі
Amiga OS

BOOPSI Magic User Interface Zune ReAction GUI

Mac OS і
Mac OS X

Cocoa MacApp MacZoop PowerPlant

Microsoft
Windows
UNIX, під X

Xaw Motif LessTif InterViews

Крос-
платформ-
менниє
На основі Flash

ASWing Adobe Flex Gnash SWF2EXE Software

На основі XML,
AJAX або SVG

Ample SDK CougarXML Dojo Toolkit Echo ExtJS GladeXML Google Web Toolkit Jquery Lively Kernel MooTools Pyjamas qooxdoo Rialto Toolkit script.aculo.us XML User Interface XUL Yahoo! UI Library

На основі Java
На основі
C або C + +

Agar CEGUI Component Library for Cross Platform dlib C + + Library FLTK FOX Toolkit OpenGL User Interface Library GTK + IUP Juce JX Application Framework QT TnFOX Visual Component Framework wxWidgets YAAF XForms XVT Ultimate + +

На основі Common Lisp

CAPI Common Graphics CLIM McCLIM Garnet

На основі Pascal
На основі Python

Pyjamas PyQt PyGTK PyGUI wxPython PySide Tkinter

На основі Objective C
На основі інших
Перегляд цього шаблону Програмні інтерфейси і фреймворки Microsoft Windows
Графіка Провідник Windows DirectX Direct3D GDI Windows Presentation Foundation Windows Color System Windows Image Acquisition Windows Imaging Component
Звук DirectSound DirectMusic XACT Speech API MME
Мультимедіа DirectShow Windows Media Media Foundation
Веб MSHTML MSXML Платформа RSS для Windows JScript ActiveX XMLHttpRequest Гаджети
Доступ до даних Компоненти Microsoft Data Access Extensible Storage Engine ADO.NET Sync Framework Jet-механізм
Мережі Winsock ( LSP) Filtering Platform NDIS Windows Rally Сервіс фонової інтелектуалів передачі даних P2P API
Комунікації TAPI
Адміністрування Консоль Win32 Windows Script Host Інструментарій управління Windows PowerShell Планувальник завдань Offline Files Тіньове копіювання Windows Installer Диспетчер помилок Windows Журнал подій Windows
Модель компонентів COM COM + DCOM . NET Framework
Бібліотеки Microsoft Foundation Classes (MFC) Active Template Library (ATL) Windows Template Library (WTL) Base Class Library (BCL)
Розробка драйверів Windows Driver Model Windows Driver Foundation (KMDF UMDF)
Безпека CryptoAPI ( CAPICOM) Windows CardSpace Data Protection API Security Support Provider Interface
. NET . NET Framework ASP.NET ADO.NET . NET Remoting Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows CardSpace XNA Framework Silverlight Бібліотека паралельного програмування
Межпроцессное
взаємодія
Dynamic Data Exchange (DDE) MSRPC Іменовані канали
Текст і
підтримка мов
Framework Текстових сервісів Об'єктна модель текстів Редактор методу введення Мовні пакети Багатомовний інтерфейс
Ігри XNA Framework DirectX

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
The Linux Foundation
Google Foundation
Media Foundation
Mozilla Foundation
Windows Workflow Foundation
Windows Communication Foundation
Windows Presentation Foundation
Windows Driver Foundation
Electronic Frontier Foundation
© Усі права захищені
написати до нас