powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перехватить mouse click
10 сообщений из 10, страница 1 из 1
Перехватить mouse click
    #36879706
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли возможность отловить (перехватить) нажатие на кнопку мыши на любом объекте. Т.е. нажали на любой объект - отработала какая-то функция. Но в самом объекте на click не должно быть вызова этой функции.
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36879839
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska ,
т.е. чтобы "нажатие на кнопку мыши на любом объекте" не прописывать в каждом объекте?
- если это для сервиса "Что это?" с курсором ввиде вопросика, то решение есть.

или именно чтобы не было в событии "click" у этих объектов, а просто в другом событии?
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36879919
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,
Что-то вроде этого.
Во всех окнах объекты расставляются динамически (это делают объекты nvuo) - логика существует отдельно от интерфейса. Проблема в том, что невозможно понять, где что находится. Т.е. нужно, например, элементарно добавить messagebox на кнопку. Открываешь окно, а там кнопки нет. Нужно рыскать по nvuo и искать, где она рисуется (имя кнопки не известно).
Появилась идея добавить какую-то функцию, которая будет сообщать хотябы имя объекта. Т.е. кликаем на какю-то хитрую комбинацию клавиш (типа Ctrl+Shift+rbclick) и получаем имя объекта. После этого, по имени, объект легко можно будет найти в nvuo.
Второе применение - Help на объекте. Вот это:
/topic/193493&hl=#6991595
Только в данном приложении нет унаследованных объектов.
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36880335
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно посмотреть в сторону Windows API ф-ций

HWND SetCapture(HWND hWnd);
http://msdn.microsoft.com/en-us/library/ms646262%28VS.85%29.aspx

и
BOOL WINAPI ReleaseCapture(void);
http://msdn.microsoft.com/en-us/library/ms646261%28v=VS.85%29.aspx

Но как по мне, проще прописать в каждом базовом объекте код для обработки нужного события.
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36880553
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.,
Эти функции работают только с известным объектом. Т.е. перехват сработает только если мы пропишем его в событии объекта. А мне нужно что-то глобальное - на открытии приложения. Что-то вроде HttpModulя в .Net. Нажали на мышку - сработала API функция, запустилась наша функция, а потом уже отработалось событие объекта.

Но как по мне, проще прописать в каждом базовом объекте код для обработки нужного события.
ЛЕНЬ! :)
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36881159
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.можно посмотреть в сторону Windows API ф-ций

HWND SetCapture(HWND hWnd);
http://msdn.microsoft.com/en-us/library/ms646262%28VS.85%29.aspx

и
BOOL WINAPI ReleaseCapture(void);
http://msdn.microsoft.com/en-us/library/ms646261%28v=VS.85%29.aspx

Но как по мне, проще прописать в каждом базовом объекте код для обработки нужного события.

можно посмотреть в сторону WM_NOTIFY или WM_PARENTNOTIFY messages...
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36881200
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska ,
а какая последовательность событий: т.е. с какого момента надо это отслеживать?
- если это точка входа в любой текущей ситуации, то - это проблема; а если это - в конкретном случае, тогда озвучьте подробнее это событие...
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36904484
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ларчик просто открывался. В родительские окна на событии "key" нужно добавить вызов функции по нажатию клавиш клавиатуры, а не мыши. Подводим мышку к интересующему объекту и жмем (Ctrl + Shift + F12).
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36904600
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaЛарчик просто открывался. В родительские окна на событии "key" нужно добавить вызов функции по нажатию клавиш клавиатуры, а не мыши. Подводим мышку к интересующему объекту и жмем (Ctrl + Shift + F12).
Ларчик, да не тот. ;)
RiskaЕсть ли возможность отловить (перехватить) нажатие на кнопку мыши на любом объекте...
...
Рейтинг: 0 / 0
Перехватить mouse click
    #36905078
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,
Я же объяснил, для чего это нужно. Просто изначально зациклился на том, что в объект нужно мышом тыкать.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Перехватить mouse click
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]