releasedc



Автор Xxx xxx задал вопрос в разделе Другие языки и технологии

delphi изменение яркости экрана и получил лучший ответ

Ответ от Дмитрий Алексеевич[гуру]
рограмная регулировка яркости монитора
unit unit1;
interface
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls;
type
tform1 = class(tform)
button1: tbutton;
button2: tbutton;
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
procedure formcreate(sender: tobject);
procedure formdestroy(sender: tobject);
private
{ private declarations }
public
{ public declarations }
end;
var
form1: tform1;
implementation
{$r *.dfm}
type
tramparray=array[0..2] of array[byte] of word; // массив для хранения таблиц гамма-коррекции (gamma ramp)
var
origramparray:tramparray; // текущие значения gamma ramp
// Ф-ция изменения яркости. Чем больше wbrightness, тем больше яркость
function setbrightness(wbrightness:word):boolean;
var
ramparray:tramparray;
i, value:integer;
dc:hdc;
begin
for i:=0 to maxbyte do
begin
value := i * (wbrightness + 128);
if (value > maxword) then value := maxword;
ramparray[0] := value;
ramparray[1] := value;
ramparray[2] := value;
end;
dc:=getdc(0);
try
result:= setdevicegammaramp(dc,ramparray)
finally
releasedc(0,dc)
end
end;
// cохраняем текущие значения gamma ramp
procedure tform1.formcreate(sender: tobject);
var
dc:hdc;
begin
dc:=getdc(0);
try
getdevicegammaramp(dc,origramparray)
finally
releasedc(0,dc)
end
end;
// Меняем яркость
procedure tform1.button1click(sender: tobject);
begin
setbrightness(64)
end;
// Восстанавливаем gamma ramp
procedure tform1.button2click(sender: tobject);
var
dc:hdc;
begin
dc:=getdc(0);
try
setdevicegammaramp(dc,origramparray)
finally
releasedc(0,dc)
end
end;
procedure tform1.formdestroy(sender: tobject);
begin
button2click(button2)
end;
end.
Источник: смени аватарку, а то твои сопли так и останутся без ответов

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: delphi изменение яркости экрана
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*