netlib.narod.ru< Назад | Оглавление | Далее >

Колесико мыши

«Сделай мышеловку лучше, чем у других, и люди проложат тропу к дверям твоего дома», — говорила мне мать, перефразируя Р. Эмерсона, сама того не зная1. Но в наши дни больше толку будет, если сделать не мышеловку, а лучшую мышь.

Трехкнопочная мышь не отличалась особой популярностью у пользователей Windows, пока Microsoft не выпустила IntelliMouse. Хотя эта мышь не отличается интеллектом в прямом смысле этого слова, у нее есть одно реальное улучшение в виде небольшого колесика, расположенного между кнопок. При нажатии на это колесико оно функционирует как третья кнопка (в интерфейсах программирования она называется средней), кроме того, его можно крутить, и программы, поддерживающие эту функцию, будут реагировать прокруткой или масштабированием документа.

Хотя на первый взгляд это новшество совершенно бесполезно, оказалось, что к нему быстро привыкают, особенно если приходится часто читать длинные документы или Web-страницы. Большое преимущество в том, что, чтобы прокручивать текст, нет нужды постоянно держать курсор мыши над полосой прокрутки — он в это время может быть в любом месте документа.

И в этом случае информацию о колесике предоставляет класс SystemInformation.


Статические свойства SystemInformation (выборочно)



Тип Свойство Доступ Описание

bool MouseWheelPresent Чтение Возвращает true, если имеется колесико
int MouseWheelScrollLines Чтение Число строк, прокручиваемых за оборот
bool NativeMouseWheelSupport Чтение Не имеет значения для приложений


Колесико вращается не плавно — чувствуется явное пощелкивание. Чтобы приложения правильно реагировали на действия колесика, предполагается, что при каждом таком щелчке (в документации no.NET Framework он называется фиксатор — detent) приложение должно прокручивать определенное число строк текста. Свойство MouseWheelScrollLines указывает это число, для Microsoft IntelliMouse оно равно 3. Однако в будущем наверняка появятся более совершенные модели с большим разрешением колесика, тогда MouseWheelScrollLines однажды может вернуть значение 2 или даже 1.

Если вам захочется добавить поддержку колесика к одной из программ SysInfo, написанных в главе 4, чтобы расширить функциональность полос прокрутки, — не беспокойтесь: полосы с автопрокруткой автоматически реагируют на активность колесика.



1 А может, и нет, поскольку полностью это высказывание звучит так: «Если человек пишет книги, проповедует или просто делает мышеловки лучше, чем другие, то даже если он построит свой дом в глухом лесу, мир все равно проложит тропу к его дверям». Считается, что эта цитата взята из лекции Эмерсона, но в его письменных сочинениях этого изречения нет. См. книгу Harriett's Familiar Quotations, 16th ed. (Boston: Little, Brown, 1992), c. 430. Однако в наши дни мало кто полностью согласится с этим очаровательным мнением: для коммерческого успеха мышеловок, как и любого другого товара широкого потребления, нужна еще и хорошая маркетинговая политика.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz