Лекция: Метафайлы.
Метафайл-это закодированная последовательность вызовов API-функций. С помощью метафайла программа запоминает в памяти или в дисковом файле те действия, которые необходимо совершить для прорисовки изображения. Однажды созданный метафайл можно воспроизводить сколько угодно раз. Для создания, сохранения и использования метафайла применяются следующие функции.
1. Функция CreateMetaFile(ByVallpStringAsString) As
lpString="", то метафайл создается в оперативной памяти. После обращения к этой функции программа может работать с метафайлом как с контекстом графического устройства.
2.Функция GetMetaFile(ByVallpFileNameAsString) AsLong-открывает уже существующий метафайл и возвращает на него ссылку, если операция прошла успешно, иначе возвращает ноль.
3.Функция PlayMetaFile(ByValhdcAsLong, ByValhMFAsLong) AsLong-читает содержимое уже открытого метафайла и рисует из него изображения на контексте hDc.
5. Функция DeleteMetaFile(ByValhMFAsLong) AsLong-освобождает дескриптор метафайла. Сам метафайл при этом не разрушается и может быть вновь открыт функцией GetMetaFile.При воспроизведении метафайла записанный в него алгоритм реализуется с теми параметрами контекста устройства отображения, которые этот контекст имеет в данный момент, так как при создании метафайла ему не передаютсяумалчиваемые значения контекста. В связи с этим к нему нельзя применять функции, использующие информацию о параметрах контекста, такие какFrameRgn, CreateCompatibleDC, DrawIcon, FillRgn, DeleteDcи другие. При этом функция SelectObjectвозвращает ссылку на новый инструмент, а не на предыдущий, который автоматически уничтожается после завершения прорисовки изображения.