Изменение расширенного метафайла
Чтобы изменить изображение, хранящееся в расширенном метафайле, приложение должно выполнять задачи, описанные в следующей процедуре.
Изменение рисунка, хранящегося в расширенном метафайлове
- Используйте проверку нажатия для захвата координат курсора и получения положения объекта (линии, дуги, прямоугольника, эллипса, многоугольника или неправильной формы), который пользователь хочет изменить.
- Преобразуйте эти координаты в логические (или мировые) единицы измерения.
- Вызовите функцию EnumEnhMetaFile и проверьте каждую запись метафайла.
- Определите, соответствует ли данная запись функции рисования GDI.
- Если это так, определите, соответствуют ли координаты, хранящиеся в записи, линии, дуги, эллипса или другому графическому элементу, который пересекается с координатами, заданными пользователем.
- Найдя запись, соответствующую выходным данным, которые пользователь хочет изменить, удалите объект на экране, соответствующий исходной записи.
- Удалите соответствующую запись из метафайла, сохранив указатель на его расположение.
- Разрешить пользователю перерисовывать или заменять объект.
- Преобразуйте функции GDI, используемые для рисования нового объекта, в одну или несколько расширенных записей метафайлов.
- Сохраните эти записи в расширенном метафайле.