Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Библиотека Microsoft Foundation Class




Библиотека MFC предоставляет классы для управления объектами Windows и обладает рядом классов общего назначения, которые могут быть использованы и в приложениях MS-DOS, и Windows. Например, есть классы для управления файлами, строками, временем, памятью и обработки исключительных ситуаций.

В сущности, библиотека классов MFC обладает возможностями практически каждой из функций Windows API и содержит интеллектуальный код, который упрощает обработку сообщений, диагностику ошибок и другие мелочи, обязательно входящие в каждое приложение Windows. Такое логичное сочетание и расширение функций Windows API имеет десять основных достоинств:

· Инкапсуляция Windows API логична и полна. Библиотека MFC обеспечивает поддержку всех часто используемых функций Windows API, включая управление окнами, сообщения, элементы управления, меню, окна диалога, объекты интерфейса графического устройства (шрифты, кисти, перья и растровые изображения), связь объектов и многодокументный интерфейс.

· Библиотека MFC легка для изучения. Microsoft предпринимала целенаправленные усилия для того, чтобы сделать имена функций MFC и их параметров как можно более схожими с именами их прототипов из Windows API. Это снизит возможность путаницы для опытных программистов Windows, которые захотят воспользоваться платформой MFC. Это также позволит начинающему программисту более легко перейти на Windows API, если он к этому готов или того требует программа.

· Текст на C++ более эффективен. Если компилировать MFC в малой модели памяти, то использующее ее приложение потребует лишь немногим больше ОЗУ, чем обычное. Скорость выполнения MFC-приложения практически равна скорости аналогичного приложения на С, использующего стандартный Windows API.

· Библиотека MFC дает возможность автоматической обработки сообщений. Библиотека MFC ликвидирует один из источников частых ошибок — цикл обработки сообщений Windows API. Классы MFC спроектированы для автоматической обработки каждого из сообщений Windows. Вместо использования стандартного оператора switch/case, каждое сообщение непосредственно направляется методу класса, который предпринимает соответствующие действия.

· Библиотека MFC дает возможность самодиагностики. Более того, возможность самодиагностики туда встроена. Это означает, что вы можете сбросить информацию о различных объектах в файл, а затем проанализировать состояние внутренних переменных объекта в удобном для вас виде.

· Библиотека MFC имеет надежную архитектуру. Опережая официальное включение в стандарт ANSI С конструкции throw/catch, библиотека MFC уже основывается на архитектуре, широко использующей обработку исключительных ситуаций. Это позволяет объекту MFC изящно выходить из таких стандартных ошибочных ситуаций, как недостаток памяти, неверные параметры или трудности с загрузкой файла или ресурса. Все составляющие этой архитектуры совместимы с предлагаемыми рекомендациями ANSI С

· Библиотека MFC дает возможность использовать динамические типы данных. Это чрезвычайно мощное средство позволяет не заботиться о типе динамически размещенного объекта до момента выполнения программы. Вам дается возможность манипулировать объектом, не зная о лежащей в его основе структуре данных. Поскольку информация о типе объекта доступна во время выполнения, программист освобождается от одного лишнего уровня детализации.

· Библиотека MFC может гармонично сосуществовать с Windows-программами, написанными на С. Наиболее важное свойство MFC — ее способность уживаться с программами, написанными на С с использованием Windows API. Программисты могут в одной и той же программе сочетать классы MFC с вызовами API-функций. Это позволяет приложению MFC легко развиться до уровня настоящей объектно-ориентированной программы, если опыт программиста или внешние условия этого требуют. Такая прозрачность среды стала возможной благодаря общим для обеих архитектур соглашениям об именах. Это означает, что заголовки, типы и глобальные определения MFC не вступают в конфликт с именами из Windows API. Еще одно важное условие столь успешного взаимодействия — прозрачное управление памятью.

· Библиотека MFC может использоваться в MS-DOS. Библиотека MFC проектировалась специально для разработки приложений Windows. Многие классы обеспечивают такие часто используемые функции, как файловый ввод-вывод и работу со строками. Эти классы общего назначения могут быть использованы при программировании как для Windows, так и для MS-DOS.

· Библиотека MFC и Мастера. ClassWizard (Мастер классов) и Control Wizard (Мастер элементов управления) генерируют коды, предназначенные для работы только с использованием MFC. Эти средства быстрой разработки в особенности облегчают создание приложений OLE.




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 909; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.037 сек.