Составители:
Для передачи метафайла посредством буфера обмена применяется
структура METAFILEPICT,
в которой записываются режим отображения,
информация о размерах, а также сам сценарий метафайла.
Структура METAFILEPICT
определена в файле WinGDI.H:
typedef struct tagMETAFILEPICT
{
LONG mm;
LONG xExt;
LONG yExt;
HMETAFILE hMF;
}
METAFILEPICT, FAR *LPMETAFILEPICT;
Поле mm содержит идентификатор режима отображения. Поле hMF
представляет собой дескриптор набора команд метафайла. Остальные два поля,
xExt и yExt, могут содержать два разных типа информации в зависимости от
режима отображения.
Для текстового и декартовых режимов в полях xExt и yExt задаются
размеры содержащегося в метафайле изображения по горизонтали и по
вертикали, в единицах, которые соответствуют режиму отображения.
При использовании изотропного и анизотропного режимов отображения
поля xExt и yExt содержат необязательные, рекомендуемые размеры,
выраженные в единицах MM_HIMETRIC.
Если рекомендуемые размеры не
указываются, эти поля могут содержать нулевые значения. Если же поля xExt и
yExt имеют отрицательные значения, значит, они представляют соотношения
размеров, а не абсолютные размеры.
Функция DrawMetafile создает метафайл в памяти и после создания
метафайла следующий шаг заключается в формировании структуры
METAFILEPICT
в памяти и получении с помощью функции GlobalLock ее
указателя lpMFP:
hGMem = GlobalAlloc( GHND, (DWORD) sizeof( METAFILEPICT ) ) ;
lpMFP = (LPMETAFILEPICT) GlobalLock( hGMem ) ;
Теперь можно задать соответствующий режим отображения, размеры
изображения и назначить дескриптор метафайла.
lpMFP->mm = MM_ISOTROPIC;
lpMFP->xExt = 200; // рекомендуемые размеры //
lpMFP->yExt = 200; // в единицах MM_HIMETRIC //
lpMFP->hMF = hMetaFile;
38
Для передачи метафайла посредством буфера обмена применяется структура METAFILEPICT, в которой записываются режим отображения, информация о размерах, а также сам сценарий метафайла. Структура METAFILEPICT определена в файле WinGDI.H: typedef struct tagMETAFILEPICT { LONG mm; LONG xExt; LONG yExt; HMETAFILE hMF; } METAFILEPICT, FAR *LPMETAFILEPICT; Поле mm содержит идентификатор режима отображения. Поле hMF представляет собой дескриптор набора команд метафайла. Остальные два поля, xExt и yExt, могут содержать два разных типа информации в зависимости от режима отображения. Для текстового и декартовых режимов в полях xExt и yExt задаются размеры содержащегося в метафайле изображения по горизонтали и по вертикали, в единицах, которые соответствуют режиму отображения. При использовании изотропного и анизотропного режимов отображения поля xExt и yExt содержат необязательные, рекомендуемые размеры, выраженные в единицах MM_HIMETRIC. Если рекомендуемые размеры не указываются, эти поля могут содержать нулевые значения. Если же поля xExt и yExt имеют отрицательные значения, значит, они представляют соотношения размеров, а не абсолютные размеры. Функция DrawMetafile создает метафайл в памяти и после создания метафайла следующий шаг заключается в формировании структуры METAFILEPICT в памяти и получении с помощью функции GlobalLock ее указателя lpMFP: hGMem = GlobalAlloc( GHND, (DWORD) sizeof( METAFILEPICT ) ) ; lpMFP = (LPMETAFILEPICT) GlobalLock( hGMem ) ; Теперь можно задать соответствующий режим отображения, размеры изображения и назначить дескриптор метафайла. lpMFP->mm = MM_ISOTROPIC; lpMFP->xExt = 200; // рекомендуемые размеры // lpMFP->yExt = 200; // в единицах MM_HIMETRIC // lpMFP->hMF = hMetaFile; 38
Страницы
- « первая
- ‹ предыдущая
- …
- 36
- 37
- 38
- 39
- 40
- …
- следующая ›
- последняя »