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

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

я сделала программу на делфи. почему после того как из нее выход


Lubacha ©   (2006-12-06 18:02:00) 

Я сделала программу на делфи. почему после того как из нее выходишь меняется частота обновления монитора до 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;


Elen   (2006-12-07 08:42:00) [1]


> Lubacha ©   (06.12.06 18:02)  
> Я меняю разрешение экрана, но частоту не трогаю.

Если не секрет зачем. Просто знаю по себе что такие перемены должны быть не часты, если это не комп. игра?


Германн   (2006-12-07 01:02:00) [2]


> Anatoly Podgoretsky ©   (06.12.06 20:27) [12]
>
> Так ты Lubacha или Aleksandr77
>

Похоже, что она это он :-)


Anatoly Podgoretsky   (2006-12-06 20:27:00) [3]

Так ты Lubacha или Aleksandr77


Virgo_Style   (2006-12-06 19:37:00) [4]

Virgo_Style ©   (06.12.06 19:08) [10]
а лучше, imho, забрать всю информацию о текущем режиме посредством EnumDisplaySettings, а потом передать ее ChangeDisplaySettings.


Virgo_Style   (2006-12-06 19:08:00) [5]

раскрываю намек из [5]:

The following fields in the DEVMODE structure are used:

Member Meaning
...
dmDisplayFrequency Mode frequency


Lubacha   (2006-12-06 18:36:00) [6]

Ну подскажите пожалуйста?


Lubacha   (2006-12-06 18:20:00) [7]

vidiv ©   (06.12.06 18:16) [6]
>через панель управления =)
я понимаю что так легче всего )), но как сделать программно?


Lubacha   (2006-12-06 18:18:00) [8]

изменение разрешение экрана я взяла с delphiword, так что описание TDEVMODE даже незнаю где-нибудь?


vidiv   (2006-12-06 18:16:00) [9]


> Lubacha ©   (06.12.06 18:10) [4]
> А как мне вернуть частоту обновления к той, которая была
> до входа в программу?

через панель управления =)


novill   (2006-12-06 18:13:00) [10]

а в описании TDEVMODE смотрели?


Lubacha   (2006-12-06 18:10:00) [11]

А как мне вернуть частоту обновления к той, которая была до входа в программу?


vidiv   (2006-12-06 18:09:00) [12]

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


Array   (2006-12-06 18:07:00) [13]

Lubacha ©  

Да потому что у Вас монитор на 1280х1024 не тянет 60 Гц


ajlekceu   (2006-12-06 18:07:00) [14]

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


Наверх

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