Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Изменять графический режим

Delphi , Графика и Игры , Графика

Изменять графический режим

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure TForm1.FormCreate(Sender: TObject);
 var
   devmode: TDEVMODE;
   d: Integer;
   litem: TListItem;
   p: ^TDevmode;
 begin
   devmode.dmSize := SizeOf(TDevMode);
   devmode.dmDriverExtra := 0;
   d := 0;
   ListView1.Columns[0].Width := 400;
   while EnumDisplaySettings(nil, d, devmode) do
     with devmode do
     begin
       Inc(d);
       litem := ListView1.Items.Add;
       litem.Caption := Format('Mode %3d : %dx%d, %d Colors   (%d Hz)',
         [d, dmPelsWidth, dmPelsHeight, 1 shl (dmBitsPerPel), dmDisplayFrequency]);
       New(p);
       p^ := Devmode;
       litem.Data := p;
     end;
 end;

 procedure TForm1.BitBtn1Click(Sender: TObject);
 begin
   ChangeDisplaySettings(TDevmode(ListView1.Selected.Data^), 0);
 end;

Программный код на языке Delphi, который изменяет режим графики компьютерной системы. Вот подробное описание того, что код делает:

FormCreate

  • Процедура FormCreate вызывается при создании формы (окна).
  • Она инициализирует переменную devmode типа TDEVMODE, которая представляет собой структуру настроек отображения.
  • Она устанавливает размеры и дополнительные поля драйвера в структуре devmode.
  • Она устанавливает ширину первого столбца в списке (ListView1) равной 400 пикселям.
  • Затем код enters бесконечный цикл, который перечисляет все возможные режимы графики на системе с помощью функции EnumDisplaySettings.
  • Для каждого режима создается новый элемент списка (litem) и добавляется в список (ListView1).
  • Каждый элемент списка содержит информацию о режиме графики, включая:
    • Номер режима (d)
    • Разрешение (ширина и высота в пикселях) (dmPelsWidth и dmPelsHeight)
    • Количество цветов (1 shl (dmBitsPerPel), что эквивалентно 2^dmBitsPerPel)
    • Частоту обновления (в Гц) (dmDisplayFrequency)
  • Код также выделяет память для структуры devmode и хранит указатель на нее в поле данных элемента списка.

BitBtn1Click

  • Процедура BitBtn1Click вызывается при клике кнопки "Change".
  • Она получает выбранный элемент списка из списка (ListView1. Selected) и кастует его поле данных в структуру TDevmode с помощью синтаксиса TDevmode(ListView1.Selected.Data^).
  • Затем она вызывает функцию ChangeDisplaySettings, передавая полученную структуру devmode и 0 (ноль) как аргументы.

В целом, этот код предоставляет способ перечислить все доступные режимы графики на системе и позволяет пользователю выбрать один из них. Когда кнопка "Change" кликается, она изменяет настройки отображения для соответствующего режима.

В статье описывается пример кода на языке Delphi, который позволяет изменять графический режим компьютера с помощью списка доступных разрешений и частот обновления экрана.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Графика ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 14:24:20/0.0058619976043701/1