Мультимедиа в VC++

    Если быть честным, то VC++ не содержит в себе ничего такого, что предназначалось бы исключительно для мультимедиа. Большинством свойств этого, языка вы будете пользоваться независимо от того, какого рода программу вы пишете. Но некоторые особенности, а скорее, объекты MFC, оказываются особенно полезными именно для мультимедиа. Попробуем привести несколько примеров.
    Чем чаще всего занимается мультимедиа-приложение? Правильно, рисует на экране красивые картинки. Исходя из этого, можно предположить, что в этой книге мы часто будем иметь дело с экранными окнами, в которых будет выводиться та или иная информация. При этом мы будем пользоваться базовым классом CWnd, в котором содержится почти вся необходимая нам "оконность". Мы будем самостоятельно создавать из него новые классы и пользоваться уже созданными.
    Кроме того, очень часто мы будем пользоваться графическими функциями и непосредственным выводом информации на дисплей. И здесь классы MFC не бросают нас на произвол судьбы. Контексты устройств (device contexts) обеспечивают взаимодействие вашей программы с устройствами печати и отображения и управляются классом CDC и его производными. Функции рисования, вывод шрифтов и операции с битовыми изображениями выполняются классами, производными от класса CGdiObject.
Еще один важный момент в любом мультимедиа-приложении — это хранение используемых данных. MFC и здесь приходят на помощь, обеспечивая ряд классов для хранения чего угодно — от байтов и строк до списков и изображений.
    Мы могли бы продолжать перечислять удобства MFC еще очень долго, но не хотим превратить эту книгу в подобие рекламной радиопередачи. Напомним еще раз только одно: чтобы получить как можно больше от VC++ (независимо от того, какую программу вы на нем пишете), вы должны быть хорошо знакомы с базовыми классами Microsoft. Очень неприятно (мы говорим это на основании собственного опыта) потратить несколько часов или дней на программирование какой-либо операции и потом обнаружить, что такая операция все это время присутствовала среди классов MFC.
    Но довольно разговоров! Пора браться за дело. Давайте проверим, насколько удобны классы MFC для создания мультимедиа-приложений.


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