Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
7-51974
PycUS
2002-10-16 00:20
2002.12.16
После ввода текста нажимаем Enter и надо чтоб получился OnClick


14-51901
Konsul
2002-11-24 14:47
2002.12.16
Прикольные видеоролики


1-51775
DVM
2002-12-02 17:05
2002.12.16
Как открыть OpenDialog в нужном месте экрана? Что-то я торможу.


1-51769
brestmarket
2002-12-04 13:56
2002.12.16
Как MainMenu заставить затенять редко используемые меню?


3-51603
SemFLY
2002-11-27 23:40
2002.12.16
Database Desktop, но что лучше для MySQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский