Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿como cambiar brillo de monitor laptop acer con delphi? (https://www.clubdelphi.com/foros/showthread.php?t=76513)

JXJ 06-11-2011 06:00:06

¿como cambiar brillo de monitor laptop acer con delphi?
 
hola

aca ando con problemas en el teclado de mi laptop. acer aspire 5100
y ya lo intente cambiar me salia en 800 un teclado en la plaza de la compu.
pero no tienen nuevos. puros de otras laps muertas..

tonces solo me compre un teclado usb. y ya no uso el de la laptop

pero el teclado no tiene como ajustar el brillo de la pantall.

¿con delphi se puede ajustar el brillo de la pantalla?

yo supongo que el teclado de la lap solo manda un comando a windows para que ajuste
el brillo..
quieor haer una utileria con delphi para ajustar el brillo por codigo.

¿alguien puede ayudarme.?

gracias.

ecfisa 06-11-2011 14:54:11

Hola JXJ.

Te pongo una función que te permite manejar el brillo. Para el ejemplo usé un TTrackBar que incrementa o decrementa el valor del argumento enviado, pero sin dificultad podés reemplazar su taréa por la combinación de teclas que desees:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  with TrackBar1 do
  begin
    TickStyle:= tsNone;
    Min:= 1;
    Max:= 255;
    Position:= 100;
  end;
end;

function AjustarBrillo(Brillo: Byte): Boolean;
var
  DC: HDC;
  lRamp: array[0..2, 0..255] of Word;
  i, Delta: Integer;
begin
  Result := False;
  DC := GetDC(0);  // obtener handle de screen
  if DC <> 0 then  // obtenido ?
  begin
    for i := 0 to 255 do
    begin
      Delta := i * (Brillo + 128);
      if Delta > 65535 then Delta := 65535; //evitar desborde
      lRamp[0, i]:= Delta;  // Red
      lRamp[1, i]:= Delta;  // Green
      lRamp[2, i]:= Delta;  // Blue
    end;
    Result := SetDeviceGammaRamp(DC, lRamp); // ajustar gama
    ReleaseDC(0, DC);  // liberar DC
  end;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  AjustarBrillo(TrackBar1.Position);
end;

Un saludo.

JXJ 06-11-2011 18:30:16

Grandioso. muchas gracias.

ecfisa

con el valor de 255. esta bine blanco. hasta me quemo los ojos.
con el valor de 100 queda bastante bien.


La franja horaria es GMT +2. Ahora son las 19:26:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi