| 
| 
 | Вопрос # 5 015/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты!
 мне надо в своем проекте в рантайме перехватывать события "onclick" всех компонентов, даже тех, у кого пусто в обработчике. с получением при этом sender. без перехода потом на родную процедуру.
 
 либо подменять процедуры onclick, но потом возвращать обратно.
 
 как это реализовать?
 
 собираюсь на основе этого в уже готовом проекте сделать справку по отдельным компонентам с возможностью пользователям самим ее набивать.
 
|  |   Вопрос задал: вел (статус: Посетитель)Вопрос отправлен: 12 февраля 2011, 08:56
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 6; последнее сообщение — 15 февраля 2011, 20:37; участников в обсуждении: 4. 
|   | min@y™ (статус: Доктор наук), 12 февраля 2011, 10:13 [#1]: Цитата (вел): собираюсь на основе этого в уже готовом проекте сделать справку по отдельным компонентам с возможностью пользователям самим ее набивать. А какое отношение справка имеет к коду?
 Просто можно предоставить возможность юзерам редактировать готовый СНМ-файл, да и всё. У каждой формы добавить в BorderIcons соответственно biHelp, каждому контролу присвоить нужный HelpContext и всего делов.
 
 Или я чего-то не понимаю?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | вел (статус: Посетитель), 12 февраля 2011, 14:30 [#2]:я задолбаюсь, в проекте исходников в совокупности на 9 мегабайт. а тут все будет сразу сендером подписано, и по разным файликам разложено,в будущем может уже в полноценнную справку оформлю.
 |  
|   | bugmenot (статус: 3-ий класс), 12 февраля 2011, 17:15 [#3]:а в чём собственно загвоздка-то? реализуется прямолинейно в лоб итерацией по Components[] виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | вел (статус: Посетитель), 12 февраля 2011, 19:01 [#4]:возможно вы и правы. чем лучше на лету пользоваться из редакторов? |  
|   | VKHacker (статус: 1-ый класс), 15 февраля 2011, 07:19 [#5]:Можно добавить на форму компонент с вкладки Additional TApplicationEvents 
 И обрабатывать событие OnMessage:
 
 procedure TForm1.ApplicationEvents1Message(var var Control: TWinControl;
 begin
 if Msg.message = WM_LBUTTONUP then
 begin
 Control := FindControl(Msg.hwnd);
 ShowMessage('Sender Name: ' + Control.Name);
 end;
 end;
 
 Не помню как событие ON_CLICK обрабатывать. Но данный пример на мышь действует.
 |  
|   | вел (статус: Посетитель), 15 февраля 2011, 20:37 [#6]:столкнулся с тем, что стандартная помощь не работает на вложенных popup менюшках. не пойдет. 
 VKHacker, спасибо. но не у всех контролов есть хендл.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |