Частота экрана при смене разрешения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AngySacin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 10.09.2003 (Ср) 11:43

Частота экрана при смене разрешения

Сообщение AngySacin » 22.03.2004 (Пн) 9:42

Операционка - WinXP (или 2000). Собственно sabj - как после смены разрешения установить нужную мне частоту экрана (по умолчанию ставится 60 Гц)

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 22.03.2004 (Пн) 11:15

Меняешь разрешение в DirectX или на стандартном десктопе?

AngySacin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 10.09.2003 (Ср) 11:43

Сообщение AngySacin » 22.03.2004 (Пн) 11:24

Обычный desktop. Пользую API-шную ф-ю ChangeDisplaySetting

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 22.03.2004 (Пн) 11:31

Ну и чего ты мозги размножаешь? :? В структуре DEVMODE (первый параметр указанной тобой ф-ции) есть член, так и называется - dmDisplayFrequency. А вот чтобы он учелся, необходимо в члене dmFields установить бит DM_DISPLAYFREQUENCY. Это стандартный подход в случае сложных структур - параметров функций.

AngySacin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 10.09.2003 (Ср) 11:43

Сообщение AngySacin » 22.03.2004 (Пн) 12:16

Ennor писал(а): ... необходимо в члене dmFields установить бит DM_DISPLAYFREQUENCY.


ОК. Уже лучше. Но не намного. Чему равен DM_DISPLAYFREQUENCY? :shock:

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 22.03.2004 (Пн) 17:30

На моем сайте www.specforce-vb6.by.ru в разделе Статьи скачай пример ChangeDisplaySettings. Там все есть, и выяснение текущей частоты и установка новой и определение максимальной для монитора.
Если руки кривые, то не надо ругать разработчиков.

AngySacin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 10.09.2003 (Ср) 11:43

Сообщение AngySacin » 22.03.2004 (Пн) 17:59

XPraptor

Спасибо, скачал, буду разбираться ....

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 25.03.2004 (Чт) 20:56

Вообще-то стандартом в данном случае является такой подход:

Смотрим в MSDN, где находится структура - секция Requirements. Ага - Header: Declared in Wingdi.h; include Windows.h.
Запускаем Visual C++ и ищем в каталоге Include файл WinGDI.h. Ищем в нем название структуры. Находим описания в анси и в юникоде. Это - настоящая структура, без всякого гонева в стиле API Viewer или MSDN (иногда даже она грешит ошибками, сам находил). Теперь мелочи - найти определения констант. Ищем и находим:

#define DM_DISPLAYFREQUENCY 0x00400000L

Ну и что, ты не сможешь найти 256 отличий в формах 16-ричной записи С++ и VB??? Не верю! К стандартному Long'у приведешь сам.

И так - каждый день утром, на обед и вечером. Таков путь API.

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 28.03.2004 (Вс) 14:59

Мой пример.
Нет, с поиском надо решать уже что-то...
Вложения
SetResolution.rar
(13.27 Кб) Скачиваний: 31
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

AngySacin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 10.09.2003 (Ср) 11:43

Сообщение AngySacin » 29.03.2004 (Пн) 8:27

Всем Senx.

Кстати, offTop. Кто как борется с такой фишкой - интерфейс MDI-приложения заточен под разрешение 1024/768, а у пользователя, допустим, 800/600. Соответственно, ничего у него, бедного, нормально в экран не влазит. Многие советуют изначально делать интерфейс под 800/600, многие - предлагать сменить разрешение при запуске приложения, а некоторые (правда их меньше) - ресайзить все объекты перед открытием любого окна в соответствии с текущим разрешением.

Я идиот! Убейте меня, кто-нибудь!

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 29.03.2004 (Пн) 11:15

Странно. Наск. я помню, MDI-интерфейс проще всех остальных адаптится под произвольное разрешение, причем автоматом. Что ты имеешь в виду? У тебя тулбары не влазят? Да, с этим ничего не поделать, старайся чтоб не разбухали и в 800 пикселей все-таки влезали. А дочерние формы... По-хорошему, должны влезать. Лучше пусть будет тонна закладок, чем дочка, не помещающаяся в родителя.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList