![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разрешение экрана [D6]
V l a d i m i r © (2004-11-04 11:34:00)Как проверить, какое разрешение экрана на компьютере пользователя, если необходимо изменить его при запуске программы (800 на 600 точек) и после завершения работы с программой вернуть исходное разрешение?
Defunct (2004-11-05 03:32:00) [1]> Проверить можно используя объект Screen (свойства Width,
Heigth)
Не годится если в системе более одного монитора.
в общем случае:
Screen.Monitors[..].Width/Height
Anatoly Podgoretsky (2004-11-04 19:54:00) [2]V l a d i m i r (04.11.04 11:34)
Проверить как сказали Screen
А за изменить отрывать кое что и лучше по самую шею.
heady (2004-11-04 19:30:00) [3]и не забудь ярлычки на место вернуть!!!
DelphiN! (2004-11-04 16:35:00) [4]Пример : SetScreen(16,800,600,80); {16 бит цвет, 800х600, 80Гц.}
procedure SetScreen(BPP:byte;width,height,FR:integer);
var
D: TDevMode;
h: HWND;
begin
h:=0;
D.dmDeviceName:='DISPLAY';
D.dmBitsPerPel:=BPP;
D.dmDisplayFrequency:=FR;
D.dmPelsWidth:=Width;
D.dmPelsHeight:=Height;
D.dmFields:=DM_BITSPERPEL+DM_PELSWIDTH+DM_PELSHEIGHT+DM_DISPLAYFREQUENCY;
D.dmSize:=SizeOf(D);
if ChangeDisplaySettings(D,CDS_TEST)=DISP_CHANGE_SUCCESSFUL then
ChangeDisplaySettings(D,CDS_UPDATEREGISTRY)
else
MessageBox(h,'Данный видеорежим не потдерживается вашей видеокартой',
'Новый видеорежим не установлен', MB_ICONWarning);
end;
Семен Сорокин (2004-11-04 11:45:00) [5]ChangeDisplaySettings
Pavel_Pavel (2004-11-04 11:39:00) [6]Смотрите в faq, там где-то было, точно помню
digger (2004-11-04 11:37:00) [7]Проверить можно используя объект Screen (свойства Width, Heigth)