Вверх ↑
Этот топик читают: Гость
Ответов: 35
Рейтинг: 0
#1: 2006-09-20 12:57:41 ЛС | профиль | цитата
Подскажите (схемкой), как сделать так, чтобы разрешение экрана можно было изменять двумя кнопками (например
- 1024 х 768 х 32 бит - одна кнопка,
- 800 х 600 х 32 бит - вторая кнопка.
(можно, конечно выпадающее меню с разными режимами) но меня интересуют только эти два режима.
Благодарю.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 9906
Рейтинг: 351
#2: 2006-09-20 13:42:29 ЛС | профиль | цитата
code_287
А про 32 бита - дулю тебе. Нет в компоненте (почему-то) такой возможности
карма: 9

0
файлы: 1code_287.txt [575B] [470]
Ответов: 35
Рейтинг: 0
#3: 2006-09-20 15:33:24 ЛС | профиль | цитата
32 бита так и остается в обеих режимах (это подходит), а вот частота обновления экрана, при включении любого из данных двух режимов, устанавливается на 60 Гц. (Кажется в моем мониторе это - режим "По умолчанию") Хотя в свойсве Frequency компонента Экран установлено 75. Исходя из этого другая задача:

первая кнопка устанавливает 800 х 600 100 Гц.
вторая кнопка устанавливает 1024 х 768 85 Гц. (на этом разрешении мой монитор или карта не тянет 100 Гц)
Как сделать?
карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#4: 2006-09-20 15:49:21 ЛС | профиль | цитата
Pilot, а точку doFrequency не приметили?
карма: 26
0
Ответов: 35
Рейтинг: 0
#5: 2006-09-20 16:37:44 ЛС | профиль | цитата
Dilma, Конечно заметил и эксперементировал (см. код), предварительно заменив свойсве Frequency на 0. Но во первых не работает как нужно (скорее не правильно делаю):

при нажатии кнопки "1024 х 768" устанавливается 1024 х 768 и 60 Гц,
а при нажатии кнопки "85 Гц" эта частота устанавливается на мониторе но одновременно разрешение перескакивает на 800 х 600,

во вторых это 4 кнопки а как все это сделать в 2-х кнопках (да еще чтобы работало) я не знаю :-(

code_289
карма: 0

0
файлы: 1code_289.txt [1003B] [355]
Ответов: 3655
Рейтинг: 69
#6: 2006-09-20 16:54:52 ЛС | профиль | цитата
Pilot, Ты уверен что твой монитор поддерживает такие режимы
На сколько я понимаю в мониторе должно быть предусмотрено определённое разрешение при определённой частоте(защита от дурака) что бы монитор не сгорел,или не вышел быстро из строя(в течении гарантийного срока.)
Например мой неподдерживает режим 72Гц а 75Гц поддерживает так вот при попытке установить режим 72Гц монитор автоматом переходит в безопасный режим 60Гц.
карма: 0

0
Ответов: 35
Рейтинг: 0
#7: 2006-09-20 17:29:11 ЛС | профиль | цитата
Вячеслав, Да, тут я уверен. Эти режимы работают при ручной установке (через Панель УправленияЭкран и т.д. Причем там у меня установлен флажек "Скрыть режимы, которые монитор не может использовать).
Монитор Samsung 753 DFX 17", видеокарта GeForce 6600.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#8: 2006-09-20 17:50:13 ЛС | профиль | цитата
code_291
Насчет частоты проверить не могу - у меня ее нет
карма: 9

0
файлы: 1code_291.txt [761B] [486]
Администрация
Ответов: 15294
Рейтинг: 1518
#9: 2006-09-20 18:05:15 ЛС | профиль | цитата
Покупаем ЖК мониторы
карма: 26
0
Ответов: 35
Рейтинг: 0
#10: 2006-09-20 18:57:17 ЛС | профиль | цитата
Dilma, Точно знаю, что это можно сделать и с моим монитором, но не знаю как.
У меня есть прога-органайзер (сидит в трее. Если не ошибаюсь написанная на Delphi). У нее есть подобные кнопки (только там выпадающее меню с разными вариантами разрешение/глубина цвета). Так вот, там одним кликом меняется разрешение, а частота обновления автоматически устанавливается максимально возможная для данного разрешения (т.е. 800х600 - 100Гц, 1024х678 - 85Гц). НО...долго добираться до этих кнопок через выпадающие меню
(Св-ваСервисМониторРазрешение экрана). Пока дождешся, когда они повсплывают, один за другим... Поэтому хотел сделать свою прогу. Один клик - запустил прогу, второй клик - изменил разрешение (вместе с частотой обновления) а потом прога сама закрылась. Вот это (автозакрытие) я уже знаю как сделать, а с экраном пока нет :-(

[size=-2]------ Добавлено в 18:57
Galkov, Схема (Code 291) работает следующим образом:

Режим 800х600 100Hz (Установлен через Панель Управления):
При нажатии на кнопки меняется только частота, разрешение не меняется.

Режим 1024х768 75Hz (Установлен через Панель Управления).
Жмем кнопку "800х600 - 100Hz" - получаем - 800х600 - 60Hz (т.е. частота не та);
Жмем кнопку "1024х768 - 75Hz" - работает правильно.

Может это компонент работает неверно? (У меня HiAsm v. 3.62 build 157)
карма: 0

0
Администрация
Ответов: 15294
Рейтинг: 1518
#11: 2006-09-20 19:21:46 ЛС | профиль | цитата
Pilot, сейчас в компоненте нет общего метода для установки всех параметров сразу. Безусловно это недостаток
карма: 26
0
Ответов: 1305
Рейтинг: 29
#12: 2006-09-20 19:35:08 ЛС | профиль | цитата
Я как-то экспериментировал с этим и вносил изменения в компонент - все работало, и частота, и разрешение устанавливались четко. Но изменения не сохранились, а что конкретно делал уже не помню. Помню, что было достаточно просто
карма: 0

0
Ответов: 3655
Рейтинг: 69
#13: 2006-09-20 19:41:37 ЛС | профиль | цитата
Pilot, Вот так у меня работает ХиАсм b159. code_292
карма: 0

0
файлы: 1code_292.txt [1.1KB] [455]
Ответов: 9906
Рейтинг: 351
#14: 2006-09-20 20:28:01 ЛС | профиль | цитата
Вячеслав, а что, code_291 у тебя работает как-то иначе
функциональные эквиваленты, насколько я понимаю...

[size=-2]------ Добавлено в 20:28
v258, наверное надо так :
procedure THIScreen._work_doBCE;
var
dm: TDEVMODE;
begin
ZeroMemory(@dm, sizeof(TDEVMODE));
dm.dmSize := sizeof(TDEVMODE);
dm.dmPelsWidth := ReadInteger(_Data,_data_X,_prop_X);
if dm.dmPelsWidth<>0 then dm.dmFields := DM_PELSWIDTH;
dm.dmPelsHeight := ReadInteger(_Data,_data_Y,_prop_Y);
if dm.dmPelsHeight<>0 then dm.dmFields := dm.dmFields or DM_PELSHEIGHT;
dm.dmDisplayFrequency := ReadInteger(_Data,_data_Frequency,_prop_Frequency);
if dm.dmDisplayFrequency<>0 then dm.dmFields := dm.dmFields or DM_DISPLAYFREQUENCY;
dm.dmBitsPerPel := ReadInteger(_Data,_data_BitsPixel,_prop_BitsPixel);
if dm.dmBitsPerPel<>0 then dm.dmFields := dm.dmFields or DM_BITSPERPEL;
ChangeDisplaySettings(dm, 0);
end;
карма: 9

0
Ответов: 3655
Рейтинг: 69
#15: 2006-09-20 20:44:17 ЛС | профиль | цитата
Galkov, code_291 Экран моргает но ничего не меняется.
code_292 частота меняется, разрешение нет.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)