![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Напомните плиз.... [D6, Win95/98, WinXP]
^Sanya © (2002-08-16 18:44:00)Насчёт создания присваивания компоненту обработчика события программно:
знаю 2 способа:
первый-объявить в классе процедуру с теми же параметрами (обычно Sender : TObject)
второй-подзабыл.... точнее чуть-чуть подзабыл..
Там в той же процедуре вместо Sender"а было 2 параметра типа pointer(кажется....)
Напомните пожалуйста, если кто помнит:)
^Sanya (2002-08-16 20:23:00) [1]I>
> McSimm © (16.08.02 20:05)
ВО-ВО!!!<
McSimm (2002-08-16 20:05:00) [2]Вероятно имеется в виду способ подключения к ссобытию не объектоной процедуры (не of object)
Что-то вроде такого :
procedure MyClick(P1, P2: Pointer);
begin
...
end;
procedure TForm1.Button1Click(Sender: TObject);
var E: TMethod;
begin
E.Code := @MyClick;
E.Data := Self;
Button2.OnClick := TNotifyEvent(E)
end;
В процедуре P1 и P2 будут иметь значения Self и Sender.
^Sanya (2002-08-16 19:45:00) [3]
> Esu © (16.08.02 18:56)
Не, не перехватывал....
Точно помню, очень похоже на первый способ...только с поинтерами
> -peter- © (16.08.02 19:19)
Показываю:
...
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyEvent(Sender : TOBject);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MyEvent(Sender : TOBject);
begin
ShowMessage("Hi
-peter- (2002-08-16 19:19:00) [4]To ^Sanya
Головоломка, какая-то.
Напиши, что ты хочеш сделать!
Esu (2002-08-16 18:56:00) [5]Эээ Наверное ты сообщение перехватывал ? :)