Форум: "Начинающим";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
Внизя сделала программу на делфи. почему после того как из нее выход Найти похожие ветки
← →
Lubacha © (2006-12-06 18:02) [0]Я сделала программу на делфи. почему после того как из нее выходишь меняется частота обновления монитора до 60 Гц? Я меняю разрешение экрана, но частоту не трогаю.
Открытие формы
procedure TForm1.FormShow(Sender: TObject);
begin
x:= Screen.Width;
y:= Screen.Height;
ZeroMemory(@dm, sizeof(TDEVMODE));
dm.dmSize := sizeof(TDEVMODE);
dm.dmPelsWidth := 1280;
dm.dmPelsHeight := 1024;
dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
ChangeDisplaySettings(dm, 0);
end;
Окончание работы программы
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Case MessageBox(h,"Закончить работу с программой?","Сообщение",68) of
idNo: Abort;
idYes: begin
ZeroMemory(@dm, sizeof(TDEVMODE));
dm.dmSize := sizeof(TDEVMODE);
dm.dmPelsWidth := x;
dm.dmPelsHeight := y;
dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
ChangeDisplaySettings(dm, 0);
end;
end;
end;
← →
Array © (2006-12-06 18:07) [1]Lubacha ©
Да потому что у Вас монитор на 1280х1024 не тянет 60 Гц
← →
ajlekceu © (2006-12-06 18:07) [2]есть у мониторов такое свойство нехорошее, чем больше разрешение тем меньшая частота может с этим разрешением использоваться
штука эта автоматическая, так что может дело в этом
← →
vidiv © (2006-12-06 18:09) [3]Видимо при показе формы частота снижается на предельно допустимую, а при возврате не повышается обратно.
Сохраните частоту и восстановите частоту.
А вообще не понятно, зачем обычному приложению для себя разрешение ставить офигенное
← →
Lubacha © (2006-12-06 18:10) [4]А как мне вернуть частоту обновления к той, которая была до входа в программу?
← →
novill © (2006-12-06 18:13) [5]а в описании TDEVMODE смотрели?
← →
vidiv © (2006-12-06 18:16) [6]
> Lubacha © (06.12.06 18:10) [4]
> А как мне вернуть частоту обновления к той, которая была
> до входа в программу?
через панель управления =)
← →
Lubacha © (2006-12-06 18:18) [7]изменение разрешение экрана я взяла с delphiword, так что описание TDEVMODE даже незнаю где-нибудь?
← →
Lubacha © (2006-12-06 18:20) [8]vidiv © (06.12.06 18:16) [6]
>через панель управления =)
я понимаю что так легче всего )), но как сделать программно?
← →
Lubacha © (2006-12-06 18:36) [9]Ну подскажите пожалуйста?
← →
Virgo_Style © (2006-12-06 19:08) [10]раскрываю намек из [5]:
The following fields in the DEVMODE structure are used:
Member Meaning
...
dmDisplayFrequency Mode frequency
← →
Virgo_Style © (2006-12-06 19:37) [11]Virgo_Style © (06.12.06 19:08) [10]
а лучше, imho, забрать всю информацию о текущем режиме посредством EnumDisplaySettings, а потом передать ее ChangeDisplaySettings.
← →
Anatoly Podgoretsky © (2006-12-06 20:27) [12]Так ты Lubacha или Aleksandr77
← →
Германн © (2006-12-07 01:02) [13]
> Anatoly Podgoretsky © (06.12.06 20:27) [12]
>
> Так ты Lubacha или Aleksandr77
>
Похоже, что она это он :-)
← →
Elen © (2006-12-07 08:42) [14]
> Lubacha © (06.12.06 18:02)
> Я меняю разрешение экрана, но частоту не трогаю.
Если не секрет зачем. Просто знаю по себе что такие перемены должны быть не часты, если это не комп. игра?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c