Win32 API. Курсоры
ОГЛАВЛЕНИЕ
Пользовательские курсоры разрабатываются для использования в специфической прикладной программе и могут быть любого внешнего вида, определяемого разработчиком.
Курсоры могут быть или одноцветными или цветными, и или статическими или "живыми". Тип курсора, используемого в отдельной компьютерной системе, зависит от системного дисплея. Старые дисплеи типа VGA не поддерживают цветные или "живые" указатели, однако новые дисплеи (чьи драйверы изображения используют механизм DIB (ФОРМАТ РАСТРОВОГО ИЗОБРАЖЕНИЯ)) поддерживают их.
Курсоры и иконки похожи и могут использоваться для взаимозаменяемости во многих ситуациях. Единственное различие между ними то, что изображение, заданное как курсор должно быть в формате, который дисплей может поддерживать. Например, курсор должен быть одноцветным для дисплея VGA.
Острие (Hot Spot)
В курсоре, пиксель называемый острием (hot spot), отмечает точное экранное расположение, на которое воздействует событие мыши, типа щелчка ее кнопки. Как правило, острие - фокус курсора. Система устанавливает и распознает эту отметку как позицию курсора. Например, типичные острия - пиксель на кончике курсора имеющего форму стрелки и пиксель в середине курсора имеющего форму креста.
Когда происходит событие ввода информации от мыши, драйвер мыши Windows транслирует событие в соответствующее сообщение мыши, которое включает координаты острия. Windows посылает сообщение мыши окну, которое содержит острие или окну, которое захватило ввод информации от мыши. Для получения дополнительной информации, см. статью Ввод информации от мыши.
Мышь и курсор
Windows отражает движение мыши, перемещая соответственно курсор на экране. Когда курсор перемешается над различными частями окон или в различных окнах, Windows (или прикладная программа) изменяет вид курсора. Например, когда курсор пересекает границу окна, Windows изменяет курсор в двунаправленную стрелку.
Если система не имеет мыши, Windows показывает на экране и перемещает курсор только тогда, когда пользователь выбирает некоторые системные команды, типа тех, которые используются для установки размера или перемещения окна. Чтобы обеспечить пользователя способом отображения и перемещения курсора, когда мышь не доступна, прикладная программа, может использовать функции курсора, чтобы моделировать движение мыши. Получив эту возможность моделирования, пользователь может использовать клавиши со стрелками на клавиатуре, чтобы перемещать курсор.