Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
03.06.2014
Размер:
2.63 Mб
Скачать

Проверка в среде Microsoft Windows 95 и Microsoft Windows nt версии 3.51

В текущей на момент написания книги версии Microsoft Windows 95 драйвер мышиMicrosoft IntelliMouse отсутствует. Если вы купили такую мышь, необходимо установить драйвер с дискеты, которая прилагается к мыши.

Для проверки наличия мыши с колесом в среде Microsoft Windows 95 вам следует сначала зарегистрировать сообщение с кодом MSH_WHEELSUPPORT, вызвав для этого функцию RegisterWindowMessage:

UINT uMSH_SUPPORT = 0;

uMSH_SUPPORT = RegisterWindowMessage(MSH_WHEELSUPPORT);

Идентификатор MSH_WHEELSUPPORT, а также другие идентификаторы, необходимые для программирования новой мыши, находятся в файле zmouse.h, который можно бесплатно переписать в составеMicrosoft IntelliMouse SDK с сервераMicrosoftс адресомhttp://www.microsoft.com.

Далее нужно определить идентификатор главного окна приложения MSWheel, которое устанавливается с дискеты, входящей в комплект мыши. Идентификатор определяется следующим образом:

HWND hwndMSHWheel = NULL;

hwndMSHWheel = FindWindow(MSH_WHEELMODULE_CLASS,

MSH_WHEELMODULE_TITLE);

Если сообщение MSH_WHEELSUPPORT успешно зарегистрировано, а указанный выше идентификатор определен, можно послать сообщение MSH_WHEELSUPPORT в окно приложения MSWheel, вызвав для этого функцию SendMessage:

BOOL fWheel = FALSE;

if(uMSH_SUPPORT != 0 && hwndMSHWheel != 0)

{

fWheel =

(BOOL)SendMessage(hwndMSHWheel, uMSH_SUPPORT, 0, 0);

}

Если мышь Microsoft IntelliMouse подключена, функция SendMessage возвратит значениеTRUE, если нет –FALSE.

Проверка в среде Microsoft Windows nt версии 4.0

Операционная система Microsoft Windows NT версии 4.0 содержит драйвер мыши Microsoft IntelliMouse, поэтому установка дополнительных драйверов не требуется.

Проверить наличие мыши с колесом можно при помощи обычной функции GetSystemMetrics, передав ей в качестве параметра значение SM_MOUSEWHEELPRESENT:

if(!GetSystemMetrics(SM_MOUSEWHEELPRESENT))

{

MessageBox(NULL, "Microsoft IntelliMouse not found",

"Error message", MB_OK);

}

Если функция возвратит нулевое значение, значит мышь Microsoft IntelliMouse не подключена к компьютеру.

Определение величины свертки

Как мы уже говорили, колесо мыши Microsoft IntelliMouse вращается дискретно, как будто на нем есть засечки. При повороте колеса на каждую такую засечку приложение, получив от мыши сообщение, обычно свертывает документ на заранее определенное количество строк или на целую страницу.

Величина свертки определяется настройкой драйвера мыши. По умолчанию каждый поворот колеса соответствует сдвигу на 3 строки. Вы, однако, можете установить другое значение, либо указать, что свертка должна выполняться постранично.

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

Определение величины свертки в среде Microsoft Windows 95 и Microsoft Windows nt версии 3.51

В среде операционных систем Microsoft Windows 95 и Microsoft Windows NT версии 3.51 для определения величины свертки вначале необходимо зарегистрировать сообщение MSH_SCROLL_LINES:

UINT uMSH_SCROLL_LINES = 0;

uMSH_SCROLL_LINES = RegisterWindowMessage(MSH_SCROLL_LINES);

Затем это сообщение посылается приложению MSWheel с помощью функции SendMessage:

UINT uiScrollLines = 3;

uiScrollLines =

(BOOL)SendMessage(hwndMSHWheel, uMSH_SCROLL_LINES, 0, 0);

Функция возвращает величину свертки в строках или значение WHEEL_PAGESCROLL, если в параметрах драйвера мыши задано, что при вращении колеса мыши должна выполняться постраничная свертка.

Соседние файлы в папке несколько программ