Содержание материала

 

Для этого необходимо создать обработчик для перехвата сообщения WM_DISPLAYCHANGE. Применяется это в тех случаях, если Ваше приложение зависит от разрешения экрана (например, приложение работает с графикой).

 Далее следует пример обработчика сообщения:

Code:

type

TForm1 = class(TForm)

Button1: TButton;

private

procedure WMDisplayChange(var Message: TMessage); message WM_DISPLAYCHANGE;

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.WMDisplayChange(var Message: TMessage);

begin

{Do Something here}

inherited;

end;

 


Эта программа отслеживает изменение характеристик экрана.

Code:

...

private

procedure WMDISPLAYCHANGE(var Msg: TWMDISPLAYCHANGE);

   message WM_DISPLAYCHANGE;

...

procedure TForm1.FormCreate(Sender: TObject);

var

bp: integer;

begin

bp := GetDeviceCaps(GetDC(0), BITSPIXEL);

Form1.Caption := 'Бит на точку - ' + IntToStr(bp) +

   ' (' + FloatToStr(IntPower(2, bp)) +

   ' цветов). Разрешение ';

Form1.Caption := Form1.Caption +

 

   IntToStr(GetDeviceCaps(GetDC(0), HORZRES)) + 'X';

Form1.Caption := Form1.Caption +

   IntToStr(GetDeviceCaps(GetDC(0), VERTRES)) + ' ';

end;

 

procedure TForm1.WMDISPLAYCHANGE(var Msg: TWMDISPLAYCHANGE);

var

bp: integer;

begin

bp := Msg.BitsPerPixel;

Form1.Caption := 'Бит на точку - ' + IntToStr(bp) +

   ' (' + FloatToStr(IntPower(2, bp)) +

   ' цветов). Разрешение ';

Form1.Caption := Form1.Caption + IntToStr(Msg.Width) + 'X';

 

Form1.Caption := Form1.Caption + IntToStr(Msg.Height) + ' ';

end;

Автор советов: Даниил Карапетян

Автор справки: Алексей Денисов


  

Code:

type

{...}

private

   procedure WMDisplayChange(var msg: TMessage);

     message WM_DISPLAYCHANGE;

public

{...}

end;

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.WMDisplayChange(var msg: TMessage);

begin

ShowMessage('Display settings changed!');

inherited;

end;

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить