"کتابخانه ی کلاس بنیادی ماکروسافت" یا "کلاس های بنیادی ماکروسافت (Microsoft Foundation Classes) کتابخانه ای است که بخشی از رابط برنامه نویسی کاربردی (API) ویندوز را به صورت کلاس های C++ گرد آورده است. این کتابخانه مجموعه ای از توابع، ثابت ها، انواع و کلاس ها را برای برنامه نویسی برای ویندوز ارائه می کند.
MFC در سال 1992 در زمانی که کم کم C++ جای C در برنامه نویسی برای برنامه های کاربردی تجاری می گرفت، توسط ماکروسافت ارائه شد. در برنامه نویسی MFC ، استفاده مستقیم از API های ویندوز خیلی کم لازم می شود؛ در عوض برنامه اشیایی در کلاس های MFC ایجاد می کند و توابع عضو مربوط به آنها را صدا می زند. بسیاری از این توابع نام های یکسانی با API های مربوط به خود دارند.

مقدماتی از MFC :
در Visual Studio برای استفاده از قابلیت های کلاس های بنیادی ماکروسافت، باید پروژه ی خود را از نوع MFC Application ایجاد کنید.

File > New > Project > MFC Application


پس از انتخاب MFC Application و تایید آن پنجره ی به نام MFC Application wizard ظاهر می شود که در آن می توانید تنظیماتی در نوع پروژه ی خود ایجاد کنید. در انتها با انتخاب گزینه ی finish پروژه ی شما ساخته خواهد شد. بسیاری از کد نویسی های اولیه توسط IDE انجام می شود و پروژه برای اضافه کردن کد ها و رابط های گرافیکی کاربر آماده می شود. برای اضافه کردن رابط های گرافیکی مانند دکمه ها، پنل ها، چک باکس ها و... میتوان از دو روش کد نویسی یا استفاده از پنجره ی ToolBox استفاده کرد. که استفاده از ToolBoxو کشیدن و رها کردن (Drag & Drop) ابزار ها بر روی پنجره ی dialog برنامه، بسیار راحت تر از کد نویسی از ابتدا، است.
در برنامه نویسی MFC برای کار با کلیدها، تکست باکس ها، نوار ها و دیگر ابزار های رابط گرافیکی باید برای آنها متغیر تعریف کرد. این متغیر ها نماینده ی این ابزار ها هستند. برای اختصاص متغیر به این ابزار ها کافی است بر روی آنها کلیک راست کرده و گزینه ی Add Variable را انتخاب کنید و در پنجره ای که ظاهر می شود، نوع ، نام و .. مشخصات متغیر را تعیین کنید. این کار را با کد نویسی نیز می توانید انجام دهید ولی روش اول بسیار ساده تر است و کد نویسی به طور خودکار انجام می شود.