Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2010, 19:36   #1
vandrouny
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 42
По умолчанию Рисование в emf файл

Доброго дня! Такая вот проблема: надо рисовать на форме и одновременно в файл. На форме всё нормально, а вот в emf файл он пишет только первую порцию, до первой перерисовки окна, а потом файл остаётся неизменным. Вот код WM_PAINT:
Код:
hdc = BeginPaint(hWnd, &ps);

hdcmetaold = hdc1; 
hdchemfold= hdcEMF;

hdc1 = CreateMetaFile (NULL);
hdcEMF=CreateEnhMetaFile(NULL,L"save.emf",NULL,00);

hmetafile = CloseMetaFile(hdcmetaold); 
hemf = CloseEnhMetaFile(hdchemfold);
       
PlayMetaFile(hdc1, hmetafile);

GetEnhMetaFileHeader(hemf, sizeof(ENHMETAHEADER), &emh); 
x11 = emh.rclBounds.left; y11 = emh.rclBounds.top; 
x22 = emh.rclBounds.right; y22 = emh.rclBounds.bottom; 
SetRect(&rect, x11, y11, x22, y22); 

PlayEnhMetaFile(hdcEMF,hemf,&rect);

PlayMetaFile (hdc,hmetafile);

DeleteMetaFile(hmetafile); //эквівалент
        
EndPaint(hWnd, &ps);
break;
И на WM_Destroy я пишу DeleteEnhMetaFile(hemf);

Всё что связано с hdc1 - рисование в простой метафайл в памяти
hdcEMF - emf-файл на диске
vandrouny вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование Masip Общие вопросы Delphi 10 08.06.2010 22:16
EMF - поворот текста mutabor Общие вопросы Delphi 5 23.03.2010 19:27
Рисование Granus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 32 30.06.2009 23:23
Рисование TriCERATOP Помощь студентам 5 28.11.2008 15:09
Рисование... HunterMan Win Api 10 30.04.2008 23:46