Как вернуть экранный режим?
Помогите!!! :(
Вот вошел я в видеорежим 320х240 с помощью changedisplaysettings(), а как выйти из него, не знаю...
Помогите!!! :(
Сначала сохрани старые настройки, по моему, с помощью EnumDisplaySettings, потом переходи в новый. По окончании работы, переходи в то, что сохранил.
Я не знаю, как работать с enumdisplaysettings, в справочнике ничего про него нет.:x
Смотри в MSDN.
Вот вошел я в видеорежим 320х240 с помощью changedisplaysettings(), а как выйти из него, не знаю...
Помогите!!! :(
Попробуй так.
Var dm: TDevMode;
begin
ZeroMemory(@dm, sizeof(dm));
ChangeDisplaySettings(dm, 0);
end;
По крайней мере, если вызвать ChangeDisplaySettings(NULL, 0), то Windows сама переключит монитор в обычный режим.
Попробуй так.
Var dm: TDevMode;
begin
ZeroMemory(@dm, sizeof(dm));
ChangeDisplaySettings(dm, 0);
end;
По крайней мере, если вызвать ChangeDisplaySettings(NULL, 0), то Windows сама переключит монитор в обычный режим.
P( У меня это почему-то вообще никак не влияет на видеорежим. Может, у меня какая винда не такая или видеокарта...
P( У меня это почему-то вообще никак не влияет на видеорежим. Может, у меня какая винда не такая или видеокарта...
Да нет, с виндами и видюхой все в порядке.
Я показал тебе неправильный вызов не паскале. Пример на C++ ChangeDisplaySettings(NULL,0) работает нормально, сам лично так использую. И в помощи написано, что таким образом винда воостановит видеорежим, который забит в реестре.
Проблема в том, что надо в Delphi вызвать сишно функцию ChangeDisplaySettings. К сожалению, я не помню как это на Делфях делается :(
Выстави тему, наверняка найдутся те, кто знает как.
//var td:tdevmode}
td.dmbitsperpel:=0;
td.dmpelswidth:=0;
td.dmpelsheight:=0;
td.dmfields:=dm_bitsperpel
or dm_pelswidth
or dm_pelsheight;
changedisplaysettings(td,cds_fullscreen);