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


Редактирование расширенного метафайла

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

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

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