C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 124 - Общие выводы о работе с курсором / MSDN rus / Visual C++

Шаг 124 - Общие выводы о работе с курсором

Итак, смотрим на картинку ниже.

124_1.gif (4244 b)

Во-первых, курсор - это специального формата картинка, которая может быть как черно белая так и анимированная. У курсора присутствует горячая точка, то есть место на картинке, которое определяется как сам курсор, читайте "Шаг 148 - О горячей точке курсора (Hot Spot)". Некоторое количество курсоров есть в системе, смотрите "Шаг 53 - Типы системных курсоров". Если они Вас не устраивают то Вы можете создать свой курсор, это можно сделать как в Visual Studio: "Шаг 371 - Создание курсора в MFC и горячая точка". Так и воспользоваться специальными программами "Шаг 72 - Как делают анимационные курсоры", "Шаг 122 - Программа для создания курсора", "Шаг 123 - Еще одна программа для создания курсоров". Курсоры есть двух типов:

  • Системный
  • Окна

Системный курсор определяться настройками Windows читайте "Шаг 25 - Настройка вида курсора". Информация о нем хранится в реестре, читайте "Шаг 26 - Где в реестре хранить информация о курсоре".

У каждого окна может быть свой курсор это обусловлено тем, что у каждого окна есть структура, а в ней поле для курсора читайте "Подробности - Структура WNDCLASS". Раз каждое окно имеет курсора его можно указывать при создании окна или менять в последующем. Разные средства разработки ПО ведут себя по разному, например в VB можно указать свойство формы "Шаг 63 - Курсор формы". В VC++ можно, например, обрабатывать сообщение OnSetCursor, смотрите "Шаг 25 - Меняем курсор в виде". Но как ни странно все эти стандартные средства работают только с черно-белым курсом. Есть единственный способ, который везде работает одинаково и может использовать курсоры любого типа - это смена курсора использованием функции SetClassLong. Этот способ работает к курсорами любых типов и может использоваться в любых программах, которые поддерживают Win32 API. Пример для MFC: "Шаг 134 - Смена курсора". Для VB: "Шаг 66 - Использование анимационных курсоров". При любых действиях с мышью генерируются события мыши, такие как перемещение или нажатие кнопки. Все эти события можно отловить в окне, в них передается координата мыши по отношению к центру координат окна, а вот если Вы хотите вообще получить позицию курсора относительно экрана, то Вам нужно использовать функцию GetCursorPos, читайте "Шаг 89 - SetCursorPos() и GetCursorPos()".


| |
Автор Каев Артем.
[AD]