Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с метафайлами на низком уровне


Sapersky_ ©   (2002-09-17 20:21:00) 

Имеется в виду использование функции EnumEnhMetaFile. В частности, какой вид должна иметь функция ENHMFENUMPROC (по хелпу WinAPI понять трудно), и вообще, нет ли у кого примера на эту тему.


MBo   (2002-09-17 21:23:00) [1]

Именно такой вид и должна иметь, как написано в хелпе.

Function MFCallBack(DC:HDC; pht:PHandletable;
pemr:PEnhMetaRecord; nObj:Integer; lp:LParam):Integer; stdcall;
var
s:string;
begin
Result:=1;
form1.memo1.lines.Add(IntToStr(pemr.iType));
if pemr.iType=EMR_POLYGON16 then begin
form1.memo1.lines.Add("Polygon drawing has been found!");
Result:=0;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
mf:TMetafile;
r:Trect;
p:pointer;
begin
mf:= TMetafile.Create;
mf.LoadFromFile("e:\image1.emf");
EnumEnhMetaFile(0, mf.handle, @MFCallBack, p, r);
mf.free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо