0 / 0 / 1
Регистрация: 15.04.2013
Сообщений: 184

Отловить нажатие левой кнопки мыши на картинке

01.09.2014, 12:40. Показов 1678. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем Привет! я только начал изучать directx, у меня появился вопрос :
Итак, я решил сделать вывод на экран картинки и по нажатию левой кнопки мыши на эту картинку выводить messageBox со словом "hello, world". картинку я так понял нужно выводить используя текстуру, messageBox тоже в принципе понятно, как выводить средствами winApi. а вот как отловить нажатие мыши на картинку вообще не понимаю .... была лишь одна идея делать это также через winApi , там ловить сообщение, и проверять координаты мыши и координаты картинки, но думаю что может быть есть какой то другой вариант ? Да и вообще интересно как обрабатываются нажатие мыши на определенном месте в окне .... Может кто-нибудь знает как это сделать грамотно ?
Всем спасибо за внимание!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2014, 12:40
Ответы с готовыми решениями:

Отловить нажатие левой кнопки мыши
Всем привет, я совсем новичок, пытаюсь отловить событие - нажатие кнопок мыши, но к сожалению не получается. Нашёл кучу косвенных...

Отловить нажатие левой кнопки мыши в системе
Как отловить нажатие левой кнопки мыши в системе? Не в моей программе, а на любом окне в Win.

Отловить нажатие левой клавиши мыши вне своего приложения
Привет всем, в общем наткнулся на такую проблему, нужно отловить нажатие ЛКМ, если оно произошло то нажать другую кнопку, как нажать...

2
 Аватар для TierX
21 / 21 / 0
Регистрация: 28.02.2014
Сообщений: 138
03.09.2014, 01:50
эм есть 2 варианта для статичной 2д картинки. И для 3д обьекта. Но думаю так как всеравно прийдется тебе учить и для 3д то лучше сразу начать со сложного.
Для этого нужно применять двовльно сложную для начинающего методику известную как Picking.
Самое наверно простое обьяснение вот тут http://old.shatalov.su/ru/arti... icking.php
Более детально но тут есть ошибки http://pmg.org.ru/rm/pick.htm
а так вобще в гугл с запросом Picking. Грубо говоря тебе нада расчитать луч от твоей камеры и проверить пересекает ли он полигон на твоей картинке. В случае 3д это сложнее если использовать перспективу. И немного легче если 2д орто матрицу.

Если картинку не двигать и известны ее координаты то можно получить координаты мышки типо
C++
1
2
3
4
5
6
POINT mousePos;
GetCursorPos(&mousePos)
ScreenToClient(hwnd, &mousePos);
 
    int mousex = mousePos.x;
    int mousey = mousePos.y;
и далее после нажатия кнопки проверять.

Добавлено через 10 минут
нажатее самой кнопки мышки если уж так надо левой делаетсо вот так:
case WM_LBUTTONDOWN:
if(pick(функция пикинга(выбрано ли?))){ вывести месадж бокс}
return 0;
это все в оконной процедуре есесно.
2
0 / 0 / 1
Регистрация: 15.04.2013
Сообщений: 184
04.09.2014, 12:02  [ТС]
Спасибо вам огромное за такой развернутый ответ !!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.09.2014, 12:02
Помогаю со студенческими работами здесь

Ограничить передвижение курсора мыши левой нижней четвертью экрана.При нажатие левой клавиши мыши выключить индикатор NumLock(+Звук),при нажатие право
Не могу решить подскожите кто знает.(Ограничить передвижение курсора мыши левой нижней четвертью экрана.При нажатие левой клавиши мыши...

Нажатие левой кнопки мыши
Решил написать скрипт для игры. Чтобы скрипт сам нажимал левую кнопку мыши, когда прицел будет красным (по стандарту он белый). ...

Нажатие левой кнопки мыши
господа создаю основное окно , а затем с этим же классом создаю дочернее окно вот так #include <windows.h> #define BTN 0x0000012 ...

Нажатие левой кнопки мыши
Как только не пробовал, но чо-то не могу условие такое написать. Help me! За ранее благодарен

Программное нажатие левой кнопки мыши
Господа, кто нить подскажет как можно заставить программу нажимать левую кнопку мыши. Пробовал делать так: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru