Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизКак программно задать процедуру на событие? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c