Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.09.2012, 08:02
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
Стрелка Сложный хук

Доброго времени уважаемые люди) На тему хуков много написано и спрошено, всё перерыл, клава и мышка легко перехватывается, но это всё не то что нужно... перехожу к сути вопроса:

Как, во время нажатия курсора на кнопку(компонент, пункт из меню и т д) в общем в любое поле, перехватить это событие, и вычислить название этого объекта.

п.с. не спешите ругаться или рассказывать про вызов геттекст через хэндл или про олеацц, это всё я знаю, и это всё не то, у многих компонентов на форме нет своего хндла, однако во время события, выполняемого при нажатии на этот компонент, событие знает, что именно нажали. кто в курсе, хэлп, очень надо, подробнее, и с примером) ^_^
Ответить с цитированием
  #2  
Старый 07.09.2012, 11:41
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Вот такой вариант: допустим, я вручную нарисовал на форме картинку кнопки, а в обработчике нажатия формы прописал, что "если координаты принадлежат этому рисунку - сделать то-то." Как такое отловить? Никак. Ведь никто снаружи программы понятия не имеет о том, что такая картинка - это кнопка, а сякая - мемо.
И, если я не ошибаюсь, TImage работает подобным образом (рисуется на канвасе самой формы).
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 07.09.2012, 12:15
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
По умолчанию

такое бывает, да, но редко и это тоже можно проверить, привязку именно к координатам,
Ответить с цитированием
  #4  
Старый 07.09.2012, 13:22
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

хук на WH_CALLWNDPROC и ловить когда PCWPStruct(lParam)^.message=WM_COMMAND
хэндл контрола будет в PCWPStruct(lParam)^.lParam
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 07.09.2012, 16:12
reqyz reqyz вне форума
Начинающий
 
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
По умолчанию

спасяб, потестю
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter