Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить разрешение монитора. [Delphi, Windows]


Radgar ©   (2005-03-19 16:38:00) 

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


Anatoly Podgoretsky   (2005-03-19 18:27:00) [1]

Asteroid ©   (19.03.05 18:22) [2]
Это еще ничего, а вот монитор может уйти в защищенный режим и придется танцевать с бубном вокруг компьютера. Изменение разрешения допустимо в OpenGL/DX


Asteroid   (2005-03-19 18:22:00) [2]

> qwe   (19.03.05 17:53) [1]
После чего сползают все открытые окна. Хотя автор не указал, для чего ему это надо.

> Radgar ©   (19.03.05 16:38)
Если меняешь в OpenGL/DX, то в параметрах инициализации каждого есть флаг FULLSCREEN, а также width и height поверхности. Соответственно, OpenGL или DX запустятся в полноэкранном режиме с нужным тебе разрешением.


qwe   (2005-03-19 17:53:00) [3]

procedure ChangeSettingsDisplay;
var
NewMode:_devicemodeA;
begin
 NewMode.dmSize := Sizeof(NeWMode);
 NewMode.dmPelsWidth := 800;
 NewMode.dmPelsHeight := 600;
 NewMode.dmBitsPerPel := sBits;
 NewMode.dmDisplayFrequency := sDisFqc;
 NewMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or         BITSPERPEL or DM_DISPLAYFREQUENCY;
 if ChangeDisplaySettingsA(NewMode,CDS_TEST)=DISP_CHANGE_SUCCESSFUL then
    ChangeDisplaySettingsA(NewMode,CDS_FULLSCREEN);
 finally
 end;
end;

Вот я делал так , ну  если конечно ничего не упустил , так как это кусок кода из моей старой программы.

Да только как правило перед изминением, запоменают параметры дисплея, что бы по выходу  из приложения вернуть их.


Наверх

Титульная страница Поиск, карта сайта Написать письмо