Включаемый файл |
wingdi.h |
||||||
См. также |
CreateEnhMetaFUe |
||||||
Пример |
В примере, показанном на рис. 13.11, при обработке сообщения WM_PAINT загружается метафайл и отображается в клиентской области окна. Когда пользователь выбирает пункт меню Test!, происходит получение и отображение описания метафайла. |
||||||
См. \local-sources\chapl3\13-17. txt |
|||||||
GetEnhMetaFileHeader * Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetEnhMetaFileHeader позволяет получить из расширенного метафайла запись, содержащую заголовок. |
||||||
Синтаксис |
UINT GetEnhMetaFileHeader( HENHMETAFILE hemf, UINT cbBuffer, LPENHMETAHEADER Ipemh ) |
||||||
Параметры hemf |
HENHMETAFILE. Дескриптор расширенного метафайла. |
||||||
cbBuffer Ipemh |
UINT. Размер в байтах буфера, который должен принять данные LPENHMETAHEADER Указатель на структуру ENHMETAHEADER, которая должна принять запись заголовка. Если этот параметр установлен равным NULL, возвращаемое значение — размер записи заголовка. Определение структуры ENHMETAHEADER приведено ниже. |
||||||
Возвращаемое значение |
UINT. Если параметр Ipemh равен NULL — размер записи, которая содержит заголовок; в ином случае — число скопированных байтов. В случае возникновения ошибки возвращаемое значение — 0. |
||||||
Включаемый файл |
wingdi.h |
||||||
См. также |
PlayEnhMetaFile, CreateEnhMetaFile |
||||||
Определение ENHMETAHEADERtypedef struct tagENHMETAHEADER{ DWORD iType; DWORD nSize ; RECTL rclBounds ; RECTL rclFrame ; DWORD dSignature; DWORD n Version ; DWORD nBytes; DWORD nRecords; WORD nHandles ; WORD sReserved; DWORD nDescription; DWORD offDescription; DWORD nPalEntries; SIZEL szlDevice; SIZEL szlMillimeters; DWORD cbPixelFormat; DWORD offPixelFormat; DWORD bOpenGL; SIZEL szMicrometers; } ENHMETAHEADER; |
|||||||
Члены iType |
DWORD. Тип записи (EMR_HEADER). |
||||||
nSize |
DWORD. Размер структуры в байтах. |
||||||
rclBounds |
RECTL. Размер (в единицах длины устройства) наименьшего прямоугольника, которым можно охватить изображение, хранимое в метафайле. |
||||||
rclFrame |
RECTL. Размеры (в единицах длины 0,01 мм) прямоугольника, определенного в приложении, который охватывает изображение, хранимое в метафайле. |
||||||
dSignature |
DWORD. Сигнатура в формате двойного слова (ENHMETA_SIGNATURE) . |
||||||
n Version |
DWORD. Версия метафайла (для данного выпуска, 0x00010000). |
||||||
nBytes |
DWORD. Размер расширенного метафайла (в байтах). |
||||||
nRecords |
DWORD. Число записей в расширенном метафайле. |
||||||
nHandles |
WORD. Число дескрипторов в таблице дескрипторов расширенного метафайла. Индекс 0 применяется для дескриптора самого метафайла. |
||||||
sReserved |
WORD. Зарезервированное значение; должно быть равно 0. |
||||||
nDescription |
DWORD. Число символов в массиве, который содержит описание информационного наполнения расширенного метафайла. Устанавливается равным 0, если описание не существует. |
||||||
offDescription |
DWORD. Смещение от начала структуры ENHMETAHEADER до массива, который содержит описание информационного наполнения расширенного метафайла. Устанавливается равным 0, если описание не существует. |
||||||
nPalEntries |
DWORD. Число входов в палитре расширенного метафайла. |
||||||
szlDevice |
SIZEL. Разрешающая способность справочного устройства (в пикселях). |
||||||
szlMillimeters |
SIZEL. Разрешающая способность справочного устройства (в миллиметрах). |
||||||
cbPixelFormat |
DWORD. Размер последнего записанного пиксельного формата в метафайле. Если пиксельный формат установлен в справочном контексте устройства в начале записи, этот член устанавливается равным размеру структуры PIXELFORMATDESCRIPTOR. |
||||||
offPixelFormat |
DWORD. Смещение пиксельного формата, используемого при записи метафайла. |
||||||
bOpenGL |
DWORD. Устанавливается в значение TRUE, если в метафайле присутствуют какие-либо записи-OpenGL; в ином случае устанавливается в значение FALSE. |
||||||
szlMicrometers |
SIZEL. Размер справочного устройства (в микронах). |
||||||
Пример |
См. пример для функции GetEnhMetaFilePaletteEntries. |
||||||
GetEnhMetaFilePaletteEntries • Windows 98 • Windows 2000 |
|||||||
Описание |
Функция GetEnhMetaFilePaletteEntries позволяет получить из расширенного метафайла элемент необязательной палитры. В приложении перед созданием изображения и записью его в метафайл можно сохранить необязательную палитру в расширенном метафайле путем вызова функций CreatePalette и SetPaletteEntries. Это позволяет добиться единообразия цветов при выводе изображения на устройства разных типов. |
||||||
Синтаксис |
UINT GetEnhMetaFilePaletteEntries( HENHMETAFILE hemf, UINT uEntries, LPPALETTEENTRY Ippe ) |
||||||
Параметры hemf |
HENHMETAFILE Дескриптор расширенного метафайла. |
||||||
uEntries |
UINT. Число элементов, которые должны быть получены из палитры. |
||||||
tope |
LPPALETTEENTRY. Указатель на массив структур PALETTEENTRY, который должен принять цвета палитры. Если этот параметр установлен равным NULL, возвращаемое значение — число элементов в палитре. Описание структуры PALETTEENTRY приведено ниже. |
||||||
Возвращаемое значение |
UINT. Если параметр Ippe равен NULL и расширенный метафайл содержит необязательную палитру — число элементов в палитре расширенного метафайла; в ином случае возвращаемое значение — число скопированных элементов. Если метафайл не содержит палитру, возвращаемое значение — 0. В случае возникновения ошибки возвращаемое значение — GDIJERROR. |
||||||
Включаемыйфайл |
wingdi.h |
||||||
См. также |
CreatePalette, SetPaletteEntries |
||||||
Определение PALETTEENTRY typedef struct tagPALETTEENTRYBYTE peRed;BYTE peGreen; BYTE peBlue; BYTE peFlags ; } PALETTEENTRY; |
|||||||
Члены peRed |
BYTE. Значение интенсивности красного цвета. |
||||||
peGreen |
BYTE. Значение интенсивности зеленого цвета. |
||||||
peBlue |
BYTE. Значение интенсивности синего цвета. |
||||||
peFlags |
BYTE. Определяет способ использования элемента палитры. В качестве этого члена можно установить NULL или одно из значений, перечисленных в табл. 13.10. |
||||||
Таблица 13. 10. Значения члена peFlags структуры PALETTEENTRY |
|||||||
Значение |
Описание |
||||||
PC_EXPLICIT |
Младшее слово логического элемента палитры обозначает аппаратный индекс палитры. |
||||||
PC_NOCOLLAPSI |
Указывает, что данный цвет должен быть помещен в неиспользуемый элемент системной палитры, а не согласован с существующим цветом в системной палитре. Если в системной палитре нет неиспользуемых элементов, цвет согласуется, как обычно. |
||||||
PC_RESERVED |
Указывает, что логический элемент палитры должен быть использован для анимации палитры; этот флажок исключает для других окон возможность согласования цветов с этим элементом палитры, поскольку цвет часто изменяется. Если доступен неиспользуемый элемент системной палитры, цвет помещается в этот элемент. |
||||||
Пример |
В следующем примере показано, как проверить наличие палитры в расширенном метафайле и, если она существует, загрузить и создать палитру. Когда пользователь выбирает пункт меню Test!, загружается расширенный метафайл SAMPLE.EMF. Затем происходит выборка данных заголовка этого метафайла с помощью функции GetEnhMetaFileHeader и проверка числа элементов палитры. С помощью функции GetEnhMetaFUePaietteEntries извлекаются все элементы палитры, палитра создается и выбирается для контекста устройства. Затем в приложении воспроизводится метафайл в контексте устройства. |
||||||
\local-sources\chapl3\13-18.txt |
|||||||
Setlconlnfo • Windows 98 • Windows 2000 |
|||||||
Эписание |
Функция Getlconlnfo позволяет выбрать информацию о пиктограмме или курсоре. |
||||||
Синтаксис |
BOOL Getlconlnfo( HICON Л/сои, PICONINFO piconinfo ) |
||||||
Параметры hlcon |
HICON. Дескриптор пиктограммы или курсора. Для получения информации о стандартной системной пиктограмме или курсоре должно быть указано одно из значений, перечисленных в табл. 13.11. |
||||||
Таблица 13.11. Стандартные системные пиктограммы и курсоры |
|||||||
Значение |
Описание |
||||||
DC_APPSTARTING |
Курсор запуска приложения (стрелка и песочные часы) |
||||||
IDC_ARROW |
Курсор в форме стрелки |
||||||
IDC_CROSS |
Курсор в форме перекрестия |
||||||
IDC_HAND |
Курсор в форме руки |
||||||
IDC_HELP |
Курсор справки (стрелка и вопросительный знак) |
||||||
IDCJBEAM |
Курсор в форме двутавра |
||||||
IDC_NO |
Курсор "НЕТ" |
||||||
IDC_SIZEALL |
Четырехконечный курсор установления размеров, со стрелками вверх, вниз, влево и вправо |
||||||
IDC_SIZENESW |
Двухконечный курсор установления размеров, со стрелками вправо вверх и влево вниз |
||||||
IDC_SIZENS |
Двухконечный курсор установления размеров, со стрелками вверх и вниз |
||||||
IDC_SIZENWSE |
Двухконечный курсор установления размеров, со стрелками влево вверх и вправо вниз |
||||||
IDC_SIZEWE |
Двухконечный курсор установления размеров, со стрелками влево и вправо |
||||||
IDC_UP ARROW |
Курсор со стрелкой вверх |
||||||
IDC_WAIT |
Курсор в форме песочных часов |
||||||
IDI_APPLICATION |
Пиктограмма приложения |
||||||
IDI_ASTERISK |
Пиктограмма звездочки (буква i в круге) |
||||||
IDI_EXCLAMATION |
Пиктограмма восклицательного знака |
||||||
IDI_HAND |
Пиктограмма знака "СТОП" |
||||||
IDI_QUESTION |
Пиктограмма вопросительного знака |
||||||
IDI_WINLOGO |
Пиктограмма эмблемы Windows |
||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.