Форум: "WinAPI";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
ВнизКак определить типа сглаживания шрифтов в системе? Найти похожие ветки
← →
leonidus © (2007-08-29 12:35) [0]Собственно есть два вопроса:
1. По умолчанию, в XP для ЖК-мониторов какой тип сглаживания экранных шрифтов применяется (не применяется, обычный, ClearType)?
2. Как определить и поменять тип сглаживания?
← →
Игорь Шевченко © (2007-08-29 15:06) [1]SystemParametersInfo (SPI_GETFONTSMOOTHING, ...
SystemParametersInfo (SPI_GETFONTSMOOTHINGCONTRAST, ...
SystemParametersInfo (SPI_GETFONTSMOOTHINGTYPE, ...
Ну и, соответственно SPI_SETxxxxx
← →
leonidus © (2007-09-01 16:30) [2]При вызове SPI_GETFONTSMOOTHING, все нормально, но вот на SPI_GETFONTSMOOTHINGCONTRAST и SPI_GETFONTSMOOTHINGTYPE компилятор ругается "неизвестный идентификатор". Как быть?
← →
Leonid Troyanovsky © (2007-09-01 16:58) [3]
> leonidus © (01.09.07 16:30) [2]
{$EXTERNALSYM SPI_GETFONTSMOOTHINGTYPE}
SPI_GETFONTSMOOTHINGTYPE = $200A;
{$EXTERNALSYM SPI_SETFONTSMOOTHINGTYPE}
SPI_SETFONTSMOOTHINGTYPE = $200B;
{ constants for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE: }
{$EXTERNALSYM FE_FONTSMOOTHINGSTANDARD}
FE_FONTSMOOTHINGSTANDARD = $0001;
{$EXTERNALSYM FE_FONTSMOOTHINGCLEARTYPE}
FE_FONTSMOOTHINGCLEARTYPE = $0002;
{$EXTERNALSYM FE_FONTSMOOTHINGDOCKING}
FE_FONTSMOOTHINGDOCKING = $8000;
{$EXTERNALSYM SPI_GETFONTSMOOTHINGCONTRAST}
SPI_GETFONTSMOOTHINGCONTRAST = $200C;
{$EXTERNALSYM SPI_SETFONTSMOOTHINGCONTRAST}
SPI_SETFONTSMOOTHINGCONTRAST = $200D;
--
Regards, LVT.
← →
leonidus © (2007-09-01 22:16) [4]Леонид, спасибо, заработало, но есть некоторые непонятки.
1.
var
Bl : boolean;
SystemParametersInfo (SPI_GETFONTSMOOTHINGCONTRAST, 0,@Bl,0);
BL всегда равно true, в не зависимости от того стоит в настройках галка "использовать сглаживание" или нет
2. подскажите пожалуйста как при запросе SPI_GETFONTSMOOTHINGTYPE получить тип сглаживания?
← →
Anatoly Podgoretsky © (2007-09-01 22:22) [5]> leonidus (01.09.2007 22:16:04) [4]
The pvParam parameter is a pointer to a BOOL
← →
homm © (2007-09-01 22:30) [6]> BL всегда равно true, в не зависимости от того стоит в настройках
> галка "использовать сглаживание" или нет
А что, она должна от этого зависеть?
> 2. подскажите пожалуйста как при запросе SPI_GETFONTSMOOTHINGTYPE
> получить тип сглаживания?
В интете вот нашел:
int FE_FONTSMOOTHINGCLEARTYPE = 2;
обычное видимо — 1 :)
← →
homm © (2007-09-01 22:32) [7]Более менее толково (странно, что всего матеравлов интее почти нет)
http://vsokovikov.narod.ru/New_MSDN_API/Fonts_text/rener_cleartype.htm
← →
leonidus © (2007-09-02 13:55) [8]>homm что-то всеравно не догоняю, можно пример кода возвращающий "1" если есть сглаживание типа Cleartype и "0" если стоит обычный тип сглаживания?
← →
homm © (2007-09-02 14:14) [9]> что-то всеравно не догоняю
Ну ты и …procedure TForm1.Panel4Click(Sender: PObj);
const
SPI_GETFONTSMOOTHINGTYPE = $200A;
SPI_SETFONTSMOOTHINGTYPE = $200B;
FE_FONTSMOOTHINGSTANDARD = $0001;
FE_FONTSMOOTHINGCLEARTYPE = $0002;
FE_FONTSMOOTHINGDOCKING = $8000;
SPI_GETFONTSMOOTHINGCONTRAST = $200C;
SPI_SETFONTSMOOTHINGCONTRAST = $200D;
var
BL: DWORD;
begin
SystemParametersInfo (SPI_GETFONTSMOOTHINGTYPE, 0,@Bl,0);
ShowMessage(int2str(BL));
end;
Вот если показало циферку «2» — значит Cleartype, если циферку «1» — значит обычный тип сглаживания, если «0» — значит без зглаживания.
← →
leonidus © (2007-09-02 14:35) [10]блин, спасибо)) что-то зациклился на том что Bl это boolean...
← →
Anatoly Podgoretsky © (2007-09-02 14:40) [11]> leonidus (02.09.2007 14:35:10) [10]
Я тебе в самом начале писал, что это BOOL, но и это неправда, на самом деле это dword
Обычная чепуха двойного назначения в СИ
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c