Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
ВнизКак вручную описать событие? Найти похожие ветки
← →
Mishel (2003-03-03 09:28) [0]Есть куча форм. На каждой по кнопке. Нужно всем кнопкам назначить событие OnClick что-то вроде
в каждой форме
1) Установка моего обработчика
Button1.OnClick := MyOnClick;
2) Возвращаю стандартный
Button1.OnClick := Button1OnClick;
Как можно объявить MyOnClick в модуле вообще не имеющем визуальных компонент? Проблема в том, что OnClick имеет тип TNotifyEvent и не соображу как свою процедуру подсунуть в этот тип...
← →
MBo (2003-03-03 09:30) [1]OnClick должно быть методом любого объекта.
← →
MBo (2003-03-03 09:30) [2]OnClick должно быть процедурой любого объекта.
← →
smok_er (2003-03-03 09:31) [3]public
procedure MyOnClick(Sender TObject);
....
procedure mainform.myonclick(sender tobject);
begin
....
end;
Установка обработчика у тебя правильная.
← →
Mishel (2003-03-03 09:40) [4]To: smok_er
так делал, нормально. Но это я должен во всех формах объявить процедуру и прописать ее код который будет абсолютно одинаковый, как раз и хотелось от этого избавиться. У меня есть в проекте модуть - обыкновенный pas файл (не содержащий TForm), куда все глобальные переменные и процедуры пихаю. Хочется туда воткнуть и обработчик.
← →
smok_er (2003-03-03 09:56) [5]Ну так и воткни туда
type
TMyClass = Class
public
procedure MyOnClick(Sender TObject);
myClass: tmyclass;
....
procedure TMyClass.myonclick(sender tobject);
begin
....
end;
Button1.OnClick := MyClass.MyOnClick;
← →
REA (2003-03-03 09:59) [6]А не проще все формы унаследовать от той, в которорй вся шняга уже обрабатывается?
← →
Mishel (2003-03-03 10:18) [7]To: smok_er
Спасибо! Работает, даже есть еще где применить этот способ.
Тут нашел в Королевстве ссылочку
http://delphi.vitpc.com/treasury/event.htm
Тоже нормально работает + передаваемый компонент известен
procedure MyOnClick( P1, P2 : Pointer );
begin
if P2<>nil then Showmessage(TComponent(P2).Name);
end;
Переназначение
@Button1.OnClick := @MyOnClick;
To: REA
Такой способ тоже работает, но пока руки не дошли. Можно делать форму - пустышку, назначать в ней события и переопределять на другие формы...
ЗЫ: Всем спасибо, тема вроде пока закрыта...
← →
smok_er (2003-03-03 11:00) [8]не за что! всегда рад помочь!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c