Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры печатать.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
379.36 Кб
Скачать

113 Подключение ресурсов. Приложение Win32 win32bar. Круговая диаграмма. Приложение pie.Cpp.

Для того чтобы ресурсы были доступны программе, необходимо в текст программы включить инструкцию (директиву), которая сообщит компилятору, что в файл исполняемой программы следует добавить содержимое файла ресурсов.

При создании проекта появится возможность командой Add добавлять компоненты, необходимые для сборки приложения. Как правило, здесь указывают только файлы с исходными текстами (.С или .СРР), файлы ресурсов (.RC) и файл определения модуля (.DEF).

116. Библиотека Microsoft Foundation Classes. Необходимость библиотеки mfc. Принципы построения библиотеки mfc. Основные возможности библиотеки mfc.

Библиотека Microsoft Foundation Classes предоставляет программисту простые в использовании объекты. Эта библиотека инкапсулирует наиболее важные структуры и функции API в группе классов, пригодных для многократного использования.

Библиотеки классов типа Microsoft Foundation Classes дают многочисленные преимущества в сравнении с традиционно используемыми в языке С библиотеками функций.

  • Основные преимущества использования классов C++ — это

  • Инкапсуляция кода и данных внутри класса

  • Наследование

  • Разрешение коллизий имен функций и переменных

  • Получаемые классы оказываются естественным расширением языка

  • Обычно при правильном проектировании библиотеки классов уменьшается общий объем текста Принципы построения библиотеки MFC.

Команда разработчиков библиотеки MFC установила ряд жестких требований, которым должна была удовлетворять реализация библиотеки. В эти требования входили следующие:

  • Использовать возможности языка C++, не ошеломляя при этом программиста

  • Сделать как можно более простым переход к использованию библиотеки от функций API

  • Позволить обращаться к традиционным функциям при использовании классов библиотеки

  • Достичь компромисса между возможностями и эффективностью

  • Создать библиотеку, которая сможет быть легко перенесена на новые платформы, например Windows 95 и Windows NT

Команда разработчиков понимала, что для удачного спроектированного приложения нужно в первую очередь иметь удачно спроектированную библиотеку MFC. Классы были спроектированы так, чтобы опытным программистам как можно меньше времени пришлось тратить на изучение новых названий функций. Это было достигнуто путем тщательного подбора имен и распределения функций по классам. Разработчики предусмотрели также возможность "гибридного" программирования, когда наряду с классами из Microsoft Foundation Classes в программе используются обращения к обычным функциям Windows.

Основные возможности библиотеки MFC.

Библиотеки классов для программирования под Windows производятся и другими фирмами, но Microsoft утверждает, что ее библиотека имеет несколько неоспоримых преимуществ.

  • Полная поддержка всех функций, управляющих элементов и сообщений Windows, графических примитивов GDI, меню и окон диалога.

  • Использование того же соглашения об именах, которого придерживается обычный API Windows. Таким образом, по имени класса сразу становится ясным его предназначение.

  • Избавление от необходимости применять оператор switch/case, который часто является источником ошибок. Каждому сообщению ставится в соответствие функция-член класса.

  • Улучшенная поддержка диагностических возможностей путем записи информации об объектах в файл. Есть также возможность проверять правильность значений переменных класса.

  • Архитектура, основанная на широком использовании обработки исключительных ситуаций, делает код приложения более устойчивым к ошибкам. Обеспечивается поддержка ситуаций типа "недостаток памяти" и других.

  • Возможность определить тип объекта во время выполнения программы позволяет динамически манипулировать полем при создании экземпляра класса.

  • Небольшой размер кода и эффективная реализация.

  • Поддержка Модели составного объекта (Component Object Model, СОМ).