Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ne_k
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 5
#1

Какой курсор отображается? - C++

30.12.2012, 15:46. Просмотров 589. Ответов 6
Метки нет (Все метки)

Здравствуйте, мне нужно узнать какой курсор отображается в системе в данный момент?

CBuilder
C++
1
2
3
4
5
CURSORINFO pc;
pc.cbSize = sizeof(CURSORINFO);
 
GetCursorInfo(&pc);
DrawIcon(GetDC(Form1->Handle), 0, 0, pc.hCursor);
На форме рисуется курсор, мне же нужно просто узнать его название, что бы потом выполнить определенное действие.
Мельком смотрел на структуры в MSDN, но так ничего и не нашел.

Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2012, 15:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какой курсор отображается? (C++):

Как определять какой метод должен быть статическим, а какой нет? - C++
Quer::add_line_to_vec: недопустимый вызов нестатической функции-члена

Найти с какой стороны цикл будет находить 0 скорее и на какой позиции он стоит - C++
Дан целочисленный массив а, который состоит из десяти чисел(от 0 до 9) и заполняется рандомно. Нужно найти с какой стороны цикл будет...

Как узнать, какой функции какой файл *.a соответсвует? - C++
Друзья! Работаю с mingw, вот там надо так: если, допустим, вызываешь API- функцию, то надо подключать соответствующую библиотеку (?),...

Курсор - C++
Как получить символ в определённой позиции курсора в консоле? Допустим по среди экрана выведено HELLO WORLD! и надо получить допустим...

Курсор - C++
Подскажите как отключить курсор в консоли, чтобы не было видно

Курсор - C++
Как получить координаты курсора в консоли

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
30.12.2012, 15:54 #2
ne_k, вот список стандартных ID(для простоты омеров стандартных курсоров)
winuser.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * Standard Cursor IDs
 */
#define IDC_ARROW           MAKEINTRESOURCE(32512)
#define IDC_IBEAM           MAKEINTRESOURCE(32513)
#define IDC_WAIT            MAKEINTRESOURCE(32514)
#define IDC_CROSS           MAKEINTRESOURCE(32515)
#define IDC_UPARROW         MAKEINTRESOURCE(32516)
#define IDC_SIZE            MAKEINTRESOURCE(32640)  /* OBSOLETE: use IDC_SIZEALL */
#define IDC_ICON            MAKEINTRESOURCE(32641)  /* OBSOLETE: use IDC_ARROW */
#define IDC_SIZENWSE        MAKEINTRESOURCE(32642)
#define IDC_SIZENESW        MAKEINTRESOURCE(32643)
#define IDC_SIZEWE          MAKEINTRESOURCE(32644)
#define IDC_SIZENS          MAKEINTRESOURCE(32645)
#define IDC_SIZEALL         MAKEINTRESOURCE(32646)
#define IDC_NO              MAKEINTRESOURCE(32648) /*not in win3.1 */
#if(WINVER >= 0x0500)
#define IDC_HAND            MAKEINTRESOURCE(32649)
#endif /* WINVER >= 0x0500 */
#define IDC_APPSTARTING     MAKEINTRESOURCE(32650) /*not in win3.1 */
#if(WINVER >= 0x0400)
#define IDC_HELP            MAKEINTRESOURCE(32651)
#endif /* WINVER >= 0x0400 */
В этом коде
Цитата Сообщение от ne_k Посмотреть сообщение
CURSORINFO pc;
pc.cbSize = sizeof(CURSORINFO);
GetCursorInfo(&pc);
GetCursorInfo получает инфу о курсоре занося её в поля CURSORINFO
http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx
ne_k
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 5
30.12.2012, 17:08  [ТС] #3
Спасибо) Меня интересует реализация. В интернете много вопросов о позиции курсора, глобальное нажатие кнопок, но по своему вопросу ничего не нашел.
В Билдере узнать какой курсор на форме просто:
C++
1
if( Form1->Cursor == crDefault )//действие
Однако мне нужна другая прога, лучше ведь не заморачиваться с поиском конкретного окна? Поэтому просто пытаюсь глобально отследить изменение этого самого курсора.

Что-то типа:
C++
1
if( ... == IDC_ARROW)
-=ЮрА=-
Заблокирован
Автор FAQ
30.12.2012, 17:17 #4
Цитата Сообщение от ne_k Посмотреть сообщение
Поэтому просто пытаюсь глобально отследить изменение этого самого курсора.
- опиши задание детальней. Я попробую осознать что ты хочешь
ne_k
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 5
30.12.2012, 18:57  [ТС] #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- опиши задание детальней. Я попробую осознать что ты хочешь
Хм...попоробую Допустим есть браузер. В нем наводя на ссылку курсор становится IDC_HAND, на белый фон IDC_ARROW, а в какой-нибудь флэш игре вообще исчезает.
В моей программе (она отслеживает эти изменения глобально): если курсор становится IDC_HAND, то выдается сообщение, если IDC_ARROW - ничего не происходт. Это всего лишь пример.
-=ЮрА=-
30.12.2012, 19:11
  #6

Не по теме:

ne_k, посмотри хуки на мышь

ne_k
0 / 0 / 0
Регистрация: 30.12.2012
Сообщений: 5
04.01.2013, 21:34  [ТС] #7
С - быстрый способ, ну а я еще попробую через autoIt, давно хотел изучить его. Там то функций для управления окнами мышью и элементами навалом, а заодно и сделаю набор программ и драйверов для тихой установки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2013, 21:34
Привет! Вот еще темы с ответами:

невидимый курсор - C++
Помогите реализовать невидимый курсор в консоли (он постоянно мигает и мешает). В интернете порылся, но так ничего нормально, работающего...

Курсор мыши - C++
Привет народ, помогите пожалуйста... У меня тут задача написать игру уголки(на шашечной доске) я для начало решил сделать его в...

мигающий курсор - C++
В CODEBLOCS в окне набора текста программы появился мигающий курсор "_", а раньше был курсор "|". И редактирование текста поменялось....

LOCATE курсор - C++
Здравствуйте. Подскажите, есть ли в С функция устанавливающая курсор в консольном приложении в заданную позицию?(аналогичная к LOCATE в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.01.2013, 21:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru