Управление видеорежимами монитора (dll + vcx)
VMode - библиотека для управления видеорежимами монитора
Методы:
GetVideoMode - возвращает:
а) имя библиотеки текущего SVGA драйвера;
б) ширину экрана;
в) высоту экрана;
г) бит на пиксель (bpp, глубина цвета);
д) частоту обновления экрана;
принимает параметр lnWhat (numeric):
0 или пустые скобки - общий список (string);
1 - SVGA + версия драйвера (string);
2 - ширина экрана (numeric);
3 - высота экрана (numeric);
4 - бит на пиксель (numeric);
5 - частота обновления экрана (numeric).
SetVideoMode - возвращает значения .T. или .F. в зависимости от достигнутого результата;
принимает числовые параметры: ширина, высота, глубина и частота (all numeric).
Регистрация: RegSvr32 VMode.dll
Требования: vfp9r.dll и vfp9t.dll
Вызов: oVM = CreateObject("VMode.VMode")
Пример:
?oVm.GetVideoMode() && возвращает: "G400D;1024;768;32;85"
?oVm.GetVideoMode(0) && возвращает: "G400D;1024;768;32;85"
?oVm.GetVideoMode(1) && возвращает: "G400D" (Matrox Millenium G450, maj.ver. 4.00, min.ver. D)
?oVm.GetVideoMode(2) && возвращает: 1024
?oVm.GetVideoMode(3) && возвращает: 768
?oVm.GetVideoMode(4) && возвращает: 32
?oVm.GetVideoMode(5) && возвращает: 85
?oVm.SetVideoMode(800,600) && возвращает .T.
?oVm.SetVideoMode(800,600,0,0) && возвращает .T.
?oVm.SetVideoMode(800,600,32,85) && возвращает .T.
?oVm.SetVideoMode(800,100,0,0) && возвращает .F.
?oVm.SetVideoMode(1024,768,2,22) && возвращает .F.
Замечания:
Если в параметре глубина = 0 или не указана, а также частота = 0 или не указана, то берутся в обработку
текущие значения.
Если параметры указаны неверно или не соответствуют возможностям вашего SVGA-адаптора, то значения входных
параметров обработаны не будут и возвращаемое значение = .F.
P.S.
У кого VFP более младшей версии, нежели 9-я, прилагается библиотека класса для перекомпилляции. Нужно
добавить библиотеку в новый проект и на выходе создать Multi-Threaded Com Server. Скопировать dll в
системную папку Windows (System для Win4; System32 для WinNT) и сделать регистрацию библиотеки в реестре:
RegSvr32 VMode.dll
Тем, кто будет пользоваться непосредственно классом, а не com-сервером, вызов делать в пределах видимости
библиотеки вызывающей программой:
oVm = NewObject("VMode","VMode")
oVm.GetVideoMode(lnWhat)
oVm.SetVideoMode(lnWidth,lnHeight,lnBpp,lnFreq)
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 458vmode | .zip | 24,24 КБ |