Поделиться через


Изменение расширенного метафайла

Чтобы изменить изображение, хранящееся в расширенном метафайле, приложение должно выполнять задачи, описанные в следующей процедуре.

Изменение рисунка, хранящегося в расширенном метафайлове

  1. Используйте проверку нажатия для захвата координат курсора и получения положения объекта (линии, дуги, прямоугольника, эллипса, многоугольника или неправильной формы), который пользователь хочет изменить.
  2. Преобразуйте эти координаты в логические (или мировые) единицы измерения.
  3. Вызовите функцию EnumEnhMetaFile и проверьте каждую запись метафайла.
  4. Определите, соответствует ли данная запись функции рисования GDI.
  5. Если это так, определите, соответствуют ли координаты, хранящиеся в записи, линии, дуги, эллипса или другому графическому элементу, который пересекается с координатами, заданными пользователем.
  6. Найдя запись, соответствующую выходным данным, которые пользователь хочет изменить, удалите объект на экране, соответствующий исходной записи.
  7. Удалите соответствующую запись из метафайла, сохранив указатель на его расположение.
  8. Разрешить пользователю перерисовывать или заменять объект.
  9. Преобразуйте функции GDI, используемые для рисования нового объекта, в одну или несколько расширенных записей метафайлов.
  10. Сохраните эти записи в расширенном метафайле.