| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Вид (стиль) курсора мышки |
| Автор: kma 16.3.2006, 12:00 |
| Подскажите, каким образом в С++ можно получить (перехватить) стиль курсора мышки при движении мыши в Internet Explorer. Т.е. стоит задача определить когда форма курсора принимает вид "пальца" |
| Автор: Romikgy 16.3.2006, 12:03 |
| Следи за мышью и бери GetCursor как увидишь что он палец , значит то что те нужно |
| Автор: kma 16.3.2006, 12:17 | ||
Это таки да, но как из него стиль выдернуть? |
| Автор: Romikgy 16.3.2006, 14:55 |
| он те и вернет |
| Автор: kma 16.3.2006, 15:53 |
| Где можно посмотреть эти стили, функция это возвращает в 16 значении |
| Автор: Romikgy 16.3.2006, 16:35 | ||
| Эта ф-ция возвращает HCURSOR, это хендл курсора, а смотреть можно в МСДН если набрать LoadCursor то в хелпе (МСДН) будет так
|
| Автор: kma 16.3.2006, 16:59 |
| Спосибо тебе |
| Автор: Romikgy 16.3.2006, 17:34 |
| kma, а тебе пожалуйста |
| Автор: kma 16.3.2006, 17:55 | ||
Появилась проблема, написал
Компилятор выдает ошибку: error C2065: 'IDC_HAND' : undeclared identifier Подскажи пожалуйста что нужно сделать, файл “ #pragma comment(lib, "user32")” подключил |
| Автор: Romikgy 16.3.2006, 18:04 |
| #include <windows.h> or #include <winuser.h> |
| Автор: kma 16.3.2006, 18:14 |
| Все равно ругается |
| Автор: Romikgy 16.3.2006, 18:19 |
| Код в студию |
| Автор: kma 16.3.2006, 18:32 | ||
|
| Автор: Romikgy 17.3.2006, 10:14 |
| if(GetCursor()==(LPSTR)((DWORD)(32649)) попробуй такое условие , имхо код правильный |
| Автор: kma 17.3.2006, 10:38 | ||
GetCursor() Так эта функция возвращает “HCURSOR” |
| Автор: Romikgy 17.3.2006, 10:56 | ||
Это из Winuser.h |
| Автор: kma 17.3.2006, 11:26 |
| Ругается на не соответствие типов данных error C2446: '==' : no conversion from 'LPSTR' to 'HCURSOR' |
| Автор: Romikgy 17.3.2006, 12:45 |
| if(GetCursor()==(HCURSOR)(32649) А так сделай |
| Автор: kma 17.3.2006, 14:16 |
| Не работает |
| Автор: Romikgy 17.3.2006, 16:52 |
| Ты хошь отлавливать курсор в своем приложении или везде? |
| Автор: kma 17.3.2006, 17:00 |
| Я хочу отлавливать стиль курсора везде |
| Автор: Earnest 17.3.2006, 20:11 |
| HCURSOR - это одно, а IDC_HAND или что там еще - абсолютно другое. Нельзя их сравнивать. Ну сами посудите: IDC_HAND - это 2-байтовый ид-р, для удобства преобразованный к LPTSTR... Кроме того, кто сказал, что используется cтандартный IDC_HAND (даже если он похож - никто не мешает сделать свой ресурс). Нет такого понятия "стиль курсора". Вряд ли вообще возможно - что ты хочешь... |
| Автор: Romikgy 17.3.2006, 23:56 | ||
| надо так
но лучше лоадкурсор вынести из цикла |
| Автор: kma 20.3.2006, 10:19 | ||||
Компилятор ругается на 'IDC_HAND' пишет 'IDC_HAND' : undeclared identifier Подскажи, почему он его не видит |
| Автор: Romikgy 20.3.2006, 11:23 | ||
| У тя в файле такие строки есть?
Добавлено @ 11:23 Кстати мож добавить эту строку , у ся в проекте |
| Автор: kma 20.3.2006, 11:34 | ||
Пробовал и так
Программа не срабатывает |
| Автор: Romikgy 20.3.2006, 11:50 |
| Это я проглядел, Это работает только в твоем приложении, для глобального можно попытатся перехватывать SetSystemCursor, и смотреть че он меняет, или SetCursor |
| Автор: kma 22.3.2006, 11:22 | ||
Я написал
Ни чего не изменилось |
| Автор: Romikgy 22.3.2006, 14:33 | ||
Имхо так нужно |
| Автор: kma 23.3.2006, 10:31 | ||||
Написал
Компилятор ругается error C2661: 'CWinApp::LoadCursorA' : no overloaded function takes 2 arguments Попробовал написать
Ни чего не меняет |
| Автор: Romikgy 23.3.2006, 11:01 |
| у тя компилятор понимает что LoadCursor это метод CWinApp, а эта функция виндов!!! Как ей сказать об этом.... не силен может так System::LoadCursor или так Window(s)::LoadCursor, я не в курсе |
| Автор: kma 23.3.2006, 11:31 | ||
я тоже не знаю может
|