Окт 16

Мышь

Мышь — это устройство ввода информации с одной или более кнопками. Win32 API поддерживает однокнопочную, двухкнопочную или трехкнопочную мышь, а также мышь с колесиком. Наличие мыши можно определить при помощи функции GetSystemMetrics:
fMouse = GetSystemMetrics (SM_MOUSEPRESENT);
Если мышь установлена, то значение fMouse будет равно TRUE. Количество кнопок у мыши определяется следующим вызовом:
cButtons = GetSystemMetrics (SM_CMOUSEBUTTONS);
Если мышь не установлена, то функция вернет нулевое значение.
Для двухкнопочной мыши, которая наиболее популярна среди пользователей, сложилась некоторая традиция интерпретации ее кнопок. Левая кнопка считается главной и выполняет самые распространенные действия, к которым относятся выбор предметов, перетаскивание значков и инициирование действий. Правая кнопка чаще всего используется для вызова контекстного меню. Оно появляется там, где находится курсор мыши, и набор его функций соответствует возможностям, доступным в этой области.
Трехкнопочная мышь не отличалась особой популярностью у пользователей Windows, пока Microsoft не выпустила модель IntelliMouse. Хотя эту мышь трудно считать интеллектуальной в прямом смысле этого слова, ее новый конструктивный элемент в виде небольшого колесика, расположенного между левой и правой кнопками, позволяет использовать множество дополнительных функций. При нажатии на колесико оно функционирует как средняя кнопка. Но кроме этого колесико можно прокручивать, и программы, поддерживающие эту функцию, будут реагировать прокруткой или масштабированием документа. Это намного удобнее, чем работать мышью на полосе прокрутки, так как колесико выполняет свои функции даже тогда, когда курсор мыши находится за пределами окна с документом.
Наличие мыши с колесиком можно определить при помощи вызова все той же функции GetSystemMetrics:
fMouseWheel = GetSystemMetrics(SM_MOUSEWHEELPRESENT);
Функция возвращает значение TRUE, если у мыши есть колесо.
Хотя мышь является важнейшим средством ввода для пользователя, разработчики программ для Windows часто дублируют, если это возможно, «мышиный» интерфейс соответствующим клавиатурным интерфейсом. При разработке новых программ весьма желательно придерживаться этой концепции, ориентированной на обеспечение максимума удобств для конечного пользователя.