|
Вопрос # 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, спасибо. но не у всех контролов есть хендл.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|