Таблица 12.2. Значения параметра dwFlags функции ChangeDisplaySettings
Возвращаемое значение LONG. Возвращается одно из значений, перечисленных в табл. 12.3. |
|
Включаемый файл |
winuser.h |
См. также |
EnumDisplaySettings, CreateDC |
Таблица 12.3. Значения, возвращаемые функцией ChangeDisplaySettings
Значение |
Описание |
||||||||||||||
DISP_CHANGE_BADFLAGS |
Функции был передан недопустимый набор флажков. |
||||||||||||||
DISP_CHANGE_BADMODE |
Графический режим не поддерживается. |
||||||||||||||
DISP_CHANGE_BADPARAM |
Функции был передан недопустимый параметр. Это значение может указывать на недопустимый флажок или недопустимую комбинацию флажков. |
||||||||||||||
DISP_CHANGE_FAILED |
Была неудачной попытка драйвера дисплея перейти в указанный графический режим. |
||||||||||||||
DISP_CHANGE_NOTUPDATED |
(Только Windows 2000) В приложении не удалось записать в системный реестр новые установки параметров. |
||||||||||||||
DISP_CHANGE_RESTART |
Для перехода в данный графический режим работы должен быть перезапущен компьютер. |
||||||||||||||
DISP_CHANGE_SUCCESSFUL |
Изменение установок параметров было выполнено успешно. |
||||||||||||||
Соответствующее сообщение WM_DISPLAYCHANGE |
|||||||||||||||
Пример |
См. пример, приведенный в описании функции EnumDisplaySettings. |
||||||||||||||
CreateCompatibleDC • Windows 98 * Windows 2000 |
|||||||||||||||
Описание |
Функция CreateCompatibleDC создает контекст устройства памяти (DC), совместимый с указанным устройством. Контекст устройства памяти можно использовать для операций вывода только после того, как в приложении будет выбрано и размещено в контексте устройства растровое изображение правильной ширины и высоты. После выбора растрового изображения в контексте устройства могут быть подготовлены изображения, которые будут скопированы на экран или напечатаны. После того как контекст устройства памяти станет ненужным, в приложении должна быть вызвана функция DeleteDC для удаления этого контекста устройства. Функция CreateCompatibleDC может использоваться только с устройствами, которые поддерживают растровые операции. В приложении можно с помощью функции GetDeviceCaps определить, поддерживает ли устройство эти операции. |
||||||||||||||
Синтаксис |
HDC CreateCompatibleDC( HDC hDC) |
||||||||||||||
Параметры |
|||||||||||||||
hDC |
HDC. Контекст устройства, для которого должен быть создан контекст -устройства памяти. Если этот параметр равен NULL, функция создает контекст устройства памяти, совместимый с текущим экраном приложения. |
||||||||||||||
Возвращаемое значение |
HDC. В случае успешного выполнения возвращаемое значение — дескриптор контекста устройства памяти; в ином случае возвращаемое значение — NULL. |
||||||||||||||
Включаемый файл |
wingdi.h |
||||||||||||||
См. также |
DeleteDC |
||||||||||||||
Пример |
В следующем примере показано, как вывести растровое изображение в клиентскую область окна. С помощью функции CreateCompatibleDC создается |
||||||||||||||
контекст устройства памяти. В этот контекст устройства памяти загружается растровое изображение, а затем отображается с помощью функции BitBlt. |
|||||||||||||||
CM. \local-sources\chapl2\12-02.txt |
|||||||||||||||
CreateDC + Windows 98 + Windows 2000 |
|||||||||||||||
Описание |
Функция CreateDC создает контекст для указанного устройства с использованием заданного имени. Эта функция обычно применяется при создании контекста устройства для принтера, но позволяет также получить контекст устройства для экрана (аппаратного экрана, а не клиентской области окна). Функцию CreateDC следует применять с осторожностью, поскольку она позволяет приложению выводить изображение на экран где угодно, а не только в границах окна. Для получения контекста устройства для окна на экране применяется функция GetDC или BeginPaint. |
||||||||||||||
Синтаксис |
HDC CreateDC( LPCTSTR IpszDriver, LPCTSTR IpszDevice, LPCTSTR IpszOutput, CONST DEVMODE* IpInitData ) |
||||||||||||||
Параметры |
|||||||||||||||
IpszDriver |
LPCTSTR. Указатель на символьную строку с нулевым символом в конце, которая указывает имя файла драйвера устройства (без расширения). Например, имя файла 'DISPLAY может относиться к драйверу дисплея, а 'WIN SPOOL' — к драйверу принтера. Обратите внимание, что значение 'W1NSPOOL' допустимо только в Windows 2000. |
||||||||||||||
IpszDevice |
LPCTSTR. Указатель на символьную строку с нулевым символом в конце, которая содержит имя конкретного используемого устройства вывода. Это — имя (например, 'HP LaserJet'), которое указано диспетчером печати Print Manager. |
||||||||||||||
IpszOutput |
LPCTSTR. Значение этого параметра игнорируется; должно быть установлено равным NULL. Информация о том, как направить вывод в файл, приведена в описании функции StartDoc. PVOID. Зарезервированное значение; установлено равным нулю. |
||||||||||||||
Ip J nit Data |
CONST DEVMODE*. Указатель на структуру DEVMODE, содержащую данные инициализации для драйвера устройства, которые зависят от устройства. Для использования по умолчанию параметров инициализации, указанных пользователем (если они имеются), значение этого параметра должно быть установлено равным NULL Определение структуры DEVMODE приведено в описании функции DeviceCapabilities в главе 14. |
||||||||||||||
Возвращаемое значение |
HDC. В случае успешного выполнения — дескриптор контекста устройства для указанного устройства; в ином случае возвращаемое значение NULL. |
||||||||||||||
Включаемы!!файл |
wingdi.h |
||||||||||||||
См. также |
DeleteDC, DocumentProperties, GetDC, BeginPaint, DeviceCapabilities |
||||||||||||||
Пример |
В следующем примере программа выводит одну строку текста на принтер, когда пользователь выбирает пункт меню Test!. Функция CreateDC создает контекст устройства для принтера. Принтер имеет имя "HP DeskJet 550C". |
||||||||||||||
CreateFont Windows 98 • Windows 2000 |
|||||||||||||||
Описание |
Функция CreateFont создает логический шрифт с конкретными характеристиками. В приложении можно использовать этот шрифт, выбирая его в качестве шрифта для любого устройства. Обычно функция CreateFont применяется, когда в приложении нужно создать только один шрифт. Во многих случаях проще использовать функцию CreateFontlndirect, поскольку данные шрифта содержатся в структуре LOGFONT. |
||||||||||||||
Синтаксис |
HFONT CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, DWORD dwltalic, DWORD dwUnderline, DWORD dwStrikeOut, DWORD dwCharSet, DWORD dwOutputPrecision, DWORD dwClipPrecision, DWORD dwQuality, DWORD dwPitchAndFamily, LPCTSTR IpszFace ) |
||||||||||||||
, Параметры |
|||||||||||||||
nHeight |
int. Желаемая высота ячейки символа или самого символа затребованного шрифта в логических единицах длины. Если параметр nHeight больше нуля, он указывает высоту ячейки символа. Если параметр nHeight — меньше нуля, его абсолютное значение указывает высоту символа. Если значение этого параметра установлено равным 0, применяется высота, заданная по умолчанию. Для указания высоты в пунктах может использоваться следующая формула:nHeight = -MulDiv( PointSize, GetDeviceCaps ( hDC, LOGPIXELSY ) , 72 ) |
||||||||||||||
nWldth |
int. Средняя ширина символов затребованного шрифта в логических единицах длины. Если значение этого параметра установлено равным 0, средством отображения шрифтов выбирается ближайшее подходящее значение. Ближайшее подходящее значение определяется путем сравнения абсолютных значений разницы между коэффициентом сжатия используемого устройства и цифровым коэффициентом сжатия доступных шрифтов. |
||||||||||||||
nEscapement |
int. Угол в десятках градусов между вектором смещения на ширину знака и осью х устройства. Вектор смещения на ширину знака расположен параллельно опорной линии строки текста. |
||||||||||||||
nOrientation |
int. Угол в десятках градусов между опорной линией каждого символа и осью х устройства. Значения параметров nEscapement и nOrientation в Windows 98 должны быть одинаковыми; они могут быть разными в Windows 2000, если установлен графический режим GM_ADVANCED. |
||||||||||||||
nWeight |
int. Желаемый вес шрифта. Если значение этого параметра установлено равным 0, применяется вес, заданный по умолчанию. Этот параметр может иметь одно из значений, приведенных в табл. 12.4. |
||||||||||||||
Таблица 12.4. Значения параметра nWeight функции CreateFont |
|||||||||||||||
Значение |
Вес |
Значение |
Bee |
||||||||||||
FW_DONTCARE |
0 |
FW_MEDIUM |
500 |
||||||||||||
FW_THN |
100 |
FW_SEMIBOLD |
600 |
||||||||||||
FW_EXTRALIGHT |
200 |
FW_BOLD |
700 |
||||||||||||
FW_LIGHT |
300 |
FW_EXTRABOtD |
800 |
||||||||||||
FW_NORMAL |
400 |
FW_HEAVY |
900 |
||||||||||||
dwJtalic |
DWORD. Устанавливается в TRUE для обозначения курсива. |
||||||||||||||
dw Underline |
DWORD. Устанавливается в TRUE для обозначения подчеркивания. |
||||||||||||||
dwStrikeOut |
DWORD. Устанавливается в TRUE для обозначения перечеркивания. |
||||||||||||||
dwCharSet |
DWORD. Желаемый набор символов. Набор символов OEM зависит от операционной системы. Этот параметр важен в процессе подстановки шрифтов. Для обеспечения единообразных результатов должен быть указан конкретный набор символов. Если в параметре IpszFace указано имя гарнитуры, значение dwCharSet должно обязательно соответствовать набору символов указанной гарнитуры. Следующие значения являются стандартными: |
||||||||||||||
ANSI_CHARSET |
TURKISH CHARSET |
||||||||||||||
DEFAOLT_CHARSET |
HEBREW CHARSET |
||||||||||||||
SYMBOL_CHARSET |
ARABIC_CHARSET |
||||||||||||||
SHIFTJIS CHARSET |
BALTIC_CHARSET |
||||||||||||||
HANGEUL CHARSET |
RUSSIAN_CHARSET |
||||||||||||||
GB2312_CHARSET |
THAI_CHARSET |
||||||||||||||
CHINESEBIG5_CHARSET |
EASTEUROPE CHARSET |
||||||||||||||
JOHAB_CHARSET |
OEM CHARSET |
||||||||||||||
GREEK_CHARSET |
MAC_CHARSET |
||||||||||||||
dwOutputPrecision |
DWORD. Желаемая точность вывода. Точность вывода определяет, насколько точно вывод соответствует таким затребованным napaMeTpav шрифта, как высота, ширина, ориентация символов, смещение на ширину знака и шаг. В приложении можно с помощью значений OUT_DEVICE_PRECIS, OUT_RASTER_PRECIS и OUT_TT_PRECIS управлять тем, какой шрифт должен использоваться, если в системе имеется несколько шрифтов с указанным именем. Параметр dwOutputPrecisioa может иметь одно из следующих значений: |
||||||||||||||
OUT DEFAULT PRECIS |
OUT DEVICE PRECIS |
||||||||||||||
OUT STRING PRECIS |
OUT_RASTER_PRECIS |
||||||||||||||
OUT_CHARACTER_PRECIS |
OUT_TT_ONLY_PRECIS |
||||||||||||||
OUT_STROKE_PRECIS |
OUT OUTLINE PRECIS |
||||||||||||||
OUT TT PRECIS |
|||||||||||||||
dwClipPrecision |
DWORD. Желаемая точность отсечения. Точность отсечения определяв! способ отсечения символов, которые частично выходят за пределы об ласти отсечения. Для использования в приложении встроенного шриф та, предназначенного только для чтения, должно быть указано значени CLIP_EMBEDDED. Параметр dwClipPrecision может иметь одно или не сколько из следующих значений: |
||||||||||||||
CLIP DEFAULT PRECIS |
CLIP LH ANGLES |
||||||||||||||
CLIP CHARACTER PRECIS |
CLIPJTT ALWAYS |
||||||||||||||
CLIP_STROKE_PRECIS |
CLIP~EMBEDDED |
||||||||||||||
CLIP_MASK |
|||||||||||||||
dwQuality |
DWORD. Желаемое качество вывода. Качество вывода определяет, с ка кой точностью функции GDI согласовывают атрибуты логического шриф та. Параметр dwQuality может иметь одно из значений, приведенных табл. 12.5. |
||||||||||||||
Таблица 12.5. Значения параметра dwQuality функции CreateFont |
|||||||||||||||
Значение |
Описание |
||||||||||||||
ANTIALIASED_QUALITY |
Применяется устранение контурных неровностей, или сглаживание шрифта, если шрифт это поддерживает и размер шрифта не слишком мал и не слишком велик. |
||||||||||||||
DEFAULT_QUALITY |
Внешний вид шрифта не имеет значения. |
||||||||||||||
DRAFT_QUALITY |
Внешний вид шрифта менее важен, чем при использовании значения PROOF QUALITY. Для растровых шрифтов GDI разрешено масштабирование. |
||||||||||||||
NONANTIALIASED_QUALITY |
Устранение контурных неровностей шрифта не применяется. |
||||||||||||||
PROOF_QUALITY |
Качество символов шрифта важнее, чем точное соответствие атрибутам логического шрифта. Запрещено масштабирование растровых шрифтов GDI и выбирается шрифт, самый близкий по размерам. |
||||||||||||||
dwPitchAndFamily |
DWORD. Шаг и семейство шрифта. Для указания шага шрифта применяется одно из следующих значений:DEFAULT PITCH FIXED_PITCH VARIABLE_PITCHДля указания семейства шрифта это значение должно быть объединено с одним из значений, приведенных в табл. 12.6, с использованием двоичного оператора OR (|). |
||||||||||||||
Таблица 12.6. Значения параметра dwPitchAndFamily функции CreateFont |
|||||||||||||||
Значение |
Описание |
||||||||||||||
FF_DECORATIVE |
Декоративные шрифты, например, Old English. |
||||||||||||||
FF_DONTCARE |
Выбор шрифта не имеет значения или шрифт неизвестен. |
||||||||||||||
FF_MODERN |
Шрифты с постоянной шириной штриха, с засечками или без засечек, например Pica, Elite и Courier New. |
||||||||||||||
FF_ROMAN |
Шрифты с переменной шириной штриха и с засечками, например MS Serif. |
||||||||||||||
FF_SCRIPT |
Шрифты, имитирующие рукописный текст, например Script и Cursive. |
||||||||||||||
FF_SWISS |
Шрифты с переменной шириной штриха и без засечек, например, MS Sans Serif. |
||||||||||||||
IpszFace |
LPCTSTR. Указатель на строку с нулевым символом в конце, длиной до 32 символов, в которой указано имя гарнитуры шрифта. Если параметр IpszFace равен NULL, функции GDI используют гарнитуру, заданную по умолчанию. |
||||||||||||||
Возвращаемое значение |
HFONT. В случае успешного выполнения дескриптор логического шрифта; в ином случае возвращаемое значение — NULL. |
||||||||||||||
Включаемый файл |
wingdi.h |
||||||||||||||
См. также |
CreateFontlndirect, SelectObject, TextOut, AddFontResource, EnumFontFamilies |
||||||||||||||
IfWeight |
LONG. To же, что и п Weight. |
||||||||||||||
I/Italic |
BYTE. To же, что и dwltalic. |
||||||||||||||
IfUnderline |
BYTE. To же, что и dwUnderline. |
||||||||||||||
IfStrikeOut |
BYTE. To же, что и dwStrikeOut. |
||||||||||||||
IfCharSet |
BYTE. To же, что и dwCharSet. |
||||||||||||||
IfOutPrecision |
BYTE. To же, что и dwOutputPrecision. |
||||||||||||||
If Clip Precision |
BYTE. To же, что и dw ClipPrecision. |
||||||||||||||
IfQuality |
BYTE. To же, что и dwQuality. |
||||||||||||||
IfPitchAndFamily |
BYTE. То же, что и dwPitchAndFamily. |
||||||||||||||
IfFaceName |
TCHAR[LF_FACESIZE]. To же, что и IpszFace. |
||||||||||||||
Пример |
См. пример для функции EnumFontFamilies. |
||||||||||||||
CreateIC • Windows 98 • Windows 2000 |
|||||||||||||||
Описание |
Функция CreateIC создает информационный контекст для устройства, позволяя быстро получить информацию об устройстве без создания контекста устройства. Эта функция обычно применяется с функцией GetDeviceCaps для выборки информации о принтере или мониторе. |
||||||||||||||
Синтаксис |
HDC CreateIC (LPCTSTR IpszDriver, LPCTSTR IpszDevice, LPCTSTR IpszOutput, CONST DEVMODE * Ipdvmlnit) |
||||||||||||||
Параметры |
|||||||||||||||
IpszDriver |
LPCTSTR. Указатель на символьную строку с нулевым символом в конце, содержащую имя драйвера устройства (например, "Epson" для принтера или "DISPLAY" для экрана). |
||||||||||||||
IpszDevice |
LPCTSTR. Указатель на символьную строку с нулевым символом в конце, содержащую имя устройства вывода, которое указано диспетчером печати Print Manager (например, "Epson FX-80"). Это — не модель принтера. Этот параметр должен применяться для принтеров, а для монитора устанавливается равным NULL. |
||||||||||||||
IpszOutput |
LPCTSTR Этот параметр игнорируется; он присутствует для того, чтобы прототип функции остался таким же, как в Windows 3.x. |
||||||||||||||
Ipdvmlnit . |
CONST DEVMODE*. Указатель на структуру DEVMODE, которая содержит данные инициализации для драйвера устройства, зависящие от используемого устройства. Для выборки этой структуры, заполненной для конкретного устройства, может применяться функция DocumentProperties. Для использования по умолчанию параметров инициализации, указанных пользователем (если они имеются), значение этого параметра должно быть установлено равным NULL. Определение структуры DEVMODE приведено в описании функции CreateDC. |
||||||||||||||
Возвращаемое значение |
HDC. В случае успешного выполнения — дескриптор информационного контекста; в ином случае возвращаемое значение — NULL. |
||||||||||||||
Включаемый файл |
wingdi.h |
||||||||||||||
См. также |
DeleteDC, CreateDC, GetDeviceCaps, CreateCompatibleDC |
||||||||||||||
Пример |
В следующем примере функция CreateIC применяется для получения информационного контекста, содержащего данные об экране. С использова- |
||||||||||||||
CreateFontlndirect * Windows 98 * Windows 2000 |
|||||||||||||||
Описание |
Функция CreateFontlndirect создает логический шрифт, который имеет характеристики, заданные в структуре LOGFONT. В приложении можно использовать этот шрифт, выбирая его в качестве шрифта для любого устройства. |
||||||||||||||
Синтаксис |
HFONT CreateFontIndirect( CONST LOGFONT* Iplf) |
||||||||||||||
Параметры |
|||||||||||||||
Iplf |
CONST LOGFONT*. Указатель на структуру LOGFONT, которая определяет характеристики логического шрифта. Определение структуры LOGFONT приведено ниже. |
||||||||||||||
Возвращаемое значение |
HFONT. В случае успешного выполнения — дескриптор логического шрифта; в ином случае возвращаемое значение — NULL. |
||||||||||||||
Включаемый файл |
wingdi.h |
||||||||||||||
См. также |
CreateFont, SelectObject, TextOut, AddFontResource, EnumFontFamilies |
||||||||||||||
Определение LOGFONT |
|||||||||||||||
Члены этой структуры непосредственно соответствуют параметрам фу! кции CreateFont. |
|||||||||||||||
typedef struct tagLOGFONTLONG If Height; LONG IfWidth; LONG IfEscapement; LONG IfOrientation; LONG IfWeight; BYTE If Italic; BYTE If Underline; BYTE If Strikeout; BYTE IfCharSet; BYTE IfOutPrecision; BYTE If ClipPrecision ; BYTE If Quality; BYTE IfPitchAndFamily; TCHAR If FaceName [LF FACESIZE] ; LOGFONT; |
|||||||||||||||
Члены |
|||||||||||||||
I/Height |
LONG. To же, что и nHeight. |
||||||||||||||
I/Width |
LONG. To же, что и nWidth. |
||||||||||||||
IfEscapement |
LONG. To же, что и nEscapement. |
||||||||||||||
IfOrientation |
LONG. To же, что и nOrientation. |
||||||||||||||
Пример |
В примере, показанном на рис. 12.1, создается шрифт Times New >Roman размером 24x16 единиц длины, а затем используется для вывода текста в клиентскую область окна, когда пользователь выбирает пункт меню Test!. |
||||||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.