Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Как программно задать процедуру на событие?   Найти похожие ветки 

 
ELKa   (2002-12-05 11:59) [0]

Мастера, подскажите, как программно(!) задать процедуру, которая будет вызываться на определенное событие? Объясню проще: в закладке Events в Object Inspector любое событие выбираешь и справа выбираешь какую надо тебе процедуру, а как это же самое сделать программно?

Т.е. что-то типа:
Control.OnMouseClick:=Имя_процедуры (но не совсем так, потому что Делфи такую запись не хавает)


 
Виктор Щербаков ©   (2002-12-05 12:03) [1]


> Имя_процедуры (но не совсем так, потому что Делфи такую
> запись не хавает)

Не просто процедуры, а МЕТОДА объекта.


 
FreeLancer ©   (2002-12-05 12:06) [2]


procedure MouseClick(Sender: TObject);
.....
Control.OnMouseClick := MouseClick;


 
ELKa   (2002-12-05 12:06) [3]

Можете мне написать посто пример? я так бістрее пойму


 
Кулюкин Олег ©   (2002-12-05 12:07) [4]

В Королевстве Дельфи была статья "Жизнь и смерть в режиме RunTime".


 
ELKa   (2002-12-05 12:08) [5]

FreeLancer - так не работает, я же писала уже.


 
ELKa   (2002-12-05 12:13) [6]

Кулюкин Олег , адресок подскажете?


 
Бурундук   (2002-12-05 12:13) [7]

procedure TForm1.MouseClick(Sender: TObject);
{или TAnyOtherObject.MouseClick(Sender: TObject);}
.....
Control.OnMouseClick := Form1.MouseClick;
// или просто := MouseClick внутри методов Form1



 
FreeLancer ©   (2002-12-05 12:14) [8]


> ELKa (05.12.02 12:08)
> FreeLancer - так не работает, я же писала уже.

Писала или не писала... Какая разница. Если ЭТО не работает, значит проблема в коде. Приводи свои выкладки:
- объявление процедуры
- сама процедура
- назначение ее Event"у Control"а


 
LongIsland ©   (2002-12-05 12:15) [9]


> ELKa (05.12.02 12:08)
> FreeLancer - так не работает, я же писала уже.

Что значит не работает?

procedure TForm1.FormCreate(Sender: TObject);
begin
btn:=TButton.Create(Form1);
btn.Parent:=Form1;
btn.Left:=0;
btn.Top:=0;
btn.OnClick:=Button1Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Grid.Cells[0,0]:="000000";
end;


 
ELKa   (2002-12-05 12:17) [10]

Все дело в том, что у предка моего компонента НЕТ такого события, которое мне надо определить


 
Кулюкин Олег ©   (2002-12-05 12:18) [11]

2 ELKa (05.12.02 12:13)
> Кулюкин Олег , адресок подскажете?
http://www.delphikingdom.com/
Если не путаю, раздел Hello, World!


 
LongIsland ©   (2002-12-05 12:19) [12]


> ELKa (05.12.02 12:17)
> Все дело в том, что у предка моего компонента НЕТ такого
> события, которое мне надо определить

А может тогда это событие сначала определить?:-)


 
FreeLancer ©   (2002-12-05 12:19) [13]

Ну вот и разобрались. А то: "Не РАБОТАЕТ" :-)


 
Separator ©   (2002-12-05 12:21) [14]


type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure ControlClick(Sender: TObject); //Это будет твой метод
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ControlClick(Sender: TObject);
begin
// Что будешь делать в методе
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MyControl:= TMyContol.Create(self);
MyControl.Click:= Form1.ControlClick
end;



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
3-51632
Fishka
2002-11-28 14:38
2002.12.16
Длина имени таблицы в INTERBASE -?


3-51579
Jackal22
2002-11-27 11:21
2002.12.16
Проблемы с изменением таблицы


14-51884
iLover
2002-11-22 19:15
2002.12.16
http://perl.mastak.ru/cgi-bin/gb.pl


14-51899
Dave2000
2002-11-22 12:06
2002.12.16
Как отправить e-mail НЕ через компоненты Дельфи?


1-51816
avsh
2002-11-28 01:08
2002.12.16
Динамические массивы