コンテンツにスキップ

Microsoft Foundation Class

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Microsoft Foundation Class (MFC) Visual C++WindowsActive Template Library (ATL) Visual Studio

ATL/MFCVisual C++Visual StudioVisual Studio CommunityATL/MFC

[]


MFCWindowsGDI FTP/HTTP使

SDK使Windows APIVisual C++MFC (OS) 

MFCWindows Template Library (WTL) 

[]


MFC199216WindowsC/C++ 7.0MFCC++C++CC/C++ 7.0C++MFCMacintoshThink Class LibraryTCLTCL

Borland CObject Windows Library (OWL) OWLMFCWindowsOWLOWL

Visual C++ 4.2WinInetActiveXMFCVisual C++ 7.0 (Visual C++ .NET 2002) MFCATLVisual C++ 2008 (Visual Studio 2008) 1MFC Feature PackMFCOffice 2007 "CMFCRibbon"Visual Studio 2005  CDockablePane100Feature PackMFC UIVisual Studio UI.NET FrameworkRADGUI使MFCWindows 7 SDK (Windows SDK for Windows 7 and .NET Framework 3.5 SP1)   APICOMAPI Windows 7Windows Vista SP2 Platform UpdateOSUIMFC

Visual C++ 2010 (Visual Studio 2010) UI [1] Windows VistaOS [2]DPISystem DPI Aware[3]Visual C++ 20101[4]Direct2D[5][6]Windows Animation Manager[7][8] 

Visual C++ 2015[9].NET Framework

[]


MFCC++C++使Visual C++C++

MFC使Windows APIWindows使 (RAII)MFCModel View Controller 

C++MFCMFC使CViewCDocument

MFCOSMainsoftUNIXMFC[1]1990MacintoshMFCMacintoshVisual Studio

Visual C++C/C++MFC使EXE-DLLDLLMFCCRT[10]MFC使DLLMFCDLLMFCMFCMFCMFC使MFCDLLATL COMCCOM

MFCWindows APIVisual BasicVisual C#DelphiRADC++MFC.NETWindowsWindows APICOMMFC

Visual C++ .NETC++Visual C++ 2005C++/CLIMFC.NET FrameworkMFCDLLMFCC#VB.NET.NETC++C++/CLIMFC.NET

MFC[]


CDocument, CView WindowsWin32 API

friend

ATL[11][12]MFC使

使C++C++

16[13] [14]

Win32 APIAPIMFC

DEBUG_NEWnew[15]

[]


MFC6.0Visual C++Visual C++ _MSC_VER MFC _MFC_VER 

Visual C++MFC
Visual C++とMFCのバージョンの履歴
VC製品バージョン MFCバージョン _MFC_VER 備考
Microsoft C/C++ 7.0 MFC 1.0 0x0100
Visual C++ 1.0 MFC 2.0 0x0200
Visual C++ 1.5 MFC 2.5 0x0250
Visual C++ 2.0 MFC 3.0 0x0300
Visual C++ 2.1 MFC 3.1 0x0310
Visual C++ 2.2 MFC 3.2 0x0320
Visual C++ 4.0 MFC 4.0 0x0400
Visual C++ 4.1 MFC 4.1 0x0410
Visual C++ 4.2 MFC 4.2 0x0420
Visual C++ 5.0 MFC 4.21 (mfc42.dll) 0x0421
Visual C++ 6.0 MFC 6.0 (mfc42.dll) 0x0600 Windows XP以降のOSに標準インストールされている。
Visual C++ .NET 2002 MFC 7.0 (mfc70.dll) 0x0700 通常アプリケーションの添付のみ。MS07-012[16]等セキュリティ問題も見つかっているがWindows Update等での更新モジュールの提供はない[要出典]
Visual C++ .NET 2003 MFC 7.1 (mfc71.dll) 0x0710 通常アプリケーションの添付のみ。MS07-012等セキュリティ問題も見つかっているがWindows Update等での更新モジュールの提供はない[要出典]
Visual C++ 2005 MFC 8.0 (mfc80.dll) 0x0800 サービスパックおよびセキュリティパッチの適用により、複数のバージョンがインストールされる。
Visual C++ 2008 MFC 9.0 (mfc90.dll) 0x0900 サービスパックおよびセキュリティパッチの適用により、複数のバージョンがインストールされる。
Visual C++ 2010 MFC 10.0 (mfc100.dll) 0x0A00
Visual C++ 2012 MFC 11.0 (mfc110.dll) 0x0B00
Visual C++ 2013 MFC 12.0 (mfc120.dll) 0x0C00
Visual C++ 2015 MFC 14.0 (mfc140.dll) 0x0E00
Visual C++ 2017 MFC 14.0 (mfc140.dll) 0x0E00 Visual C++コンパイラの内部バージョン番号は14.1だが、CRTライブラリ同様にMFCの内部バージョン番号は14.0のまま据え置きとなっている。
Visual C++ 2019 MFC 14.0 (mfc140.dll) 0x0E00 Visual C++コンパイラの内部バージョン番号は14.2だが、CRTライブラリ同様にMFCの内部バージョン番号は14.0のまま据え置きとなっている。

Visual C++ .NET 2003C/C++ (CRT) MFC Windows %WinDir%\System32%WinDir%\SysWOW64[17]Windows XPVisual C++ 20052008DLL%WinDir%\WinSxS amd64_microsoft.vc80.mfc_*ia64_microsoft.vc80.mfc_*x86_microsoft.vc80.mfc_*Side-by-SideVisual C++ .NET 2003MFC使MFCMFCVisual C++ 20052008Side-by-SideVisual C++ 20052008使MFC[18] [19]

(一)Visual C++

(二)CRT/MFC

(三)使CRT/MFCWindows XP

1DLLMicrosoft UpdateDLL2[20]/clr.NETCRT/MFC3MFC

Visual C++ 2010CRTMFCSide-by-SideVisual C++.NET 2003Windows  DLLmfc100.dll

MBCSUnicode[]


MFCMBCS/UNICODEMBCSMFCUnicodeMFC使MBCSANSI (Multibyte Character Set) [21]Shift_JISANSI932char使UnicodeWindowsUnicodeUTF-16LEwchar_t使WindowsOSUTF-16LEUTF-8UTF-32使

MFCMBCSUnicodeMBCS, _MBCS, UNICODE, _UNICODEMFC/ATLC/C++ (CRT) Win32 APIMBCS/Unicode[22]TCHAR, LPTSTR, LPCTSTRCString

Windows NTOSWindows NT 3.1UnicodeUCS-2[23]UTF-16Windows XP[24]Windows 9xOSUnicodeWindowsC/C++MBCS使UnicodeVisual Studio 2005UnicodeVisual Studio 2013MBCSMFC/ATLUnicodeMFC/ATLIDEVisual Studio 2013MBCSMFCDLLVisual C++ 2013MBCSMFCDLLMBCSMFC

Windows 8/Windows RTWindowsWindows 10WindowsC#.NETC++/CXATL使MFC使WindowsAPI使ASCIIUnicode使[25]

脚注[編集]



(一)^   (MFC)

(二)^ Visual C++ - Visual Studio 2010  C++  MFC 

(三)^ MFC applications now default to being DPI-aware | Visual C++ Team Blog, Internet Archive

(四)^ MFC Additions for Visual Studio 2010 SP1 | Microsoft Docs

(五)^ Direct2D (Windows)

(六)^ : MFC  D2D 

(七)^ Windows Animation Manager (Windows)

(八)^ : MFC 

(九)^ 

(十)^ DLL  CRT 

(11)^  Afx MFC Macros and Globals

(12)^  C

(13)^ Making Wrong Code Look Wrong - Joel on Software

(14)^  - The Joel on Software Translation Project

(15)^ Deep C++,  - MSDN / Internet Archive

(16)^   MS07-012 - 

(17)^ Redistribution of the shared C runtime component in Visual C++

(18)^ Visual C++ -  (MSDN)

(19)^  side-by-side    

(20)^   33: MFC  DLL  (MSDN)

(21)^ Unicode  (MBCS: Multibyte Character Set) 

(22)^ CreateFileA()/CreateFileW() APICreateFileMBCS/UnicodeTEXT(), _T()

(23)^ The sad history of Unicode printf-style format specifiers in Visual C++ - The Old New Thing

(24)^ Unicode | JAGAT

(25)^ Windows Store Apps, the Windows Runtime, and the C Run-Time

関連項目[編集]

外部リンク[編集]

非公式[編集]