السلام عليكم
كل ما يمكن تنفيذه زمن التصميم يمكن تنفيده زمن التشغيل و العكس غير صحيح
هذه طريقة يمكن التعديل عليها لتلبي حاجاتك
احيلك الى الموضوع لتفهم اكثر حول Parent و ٍ Self
الحدث OnClick هو من النوع TNotifyEvent اذا تتبعت النمط تجده معرف كالتالي :
لاحظ انه تم تعريف برامترات الحدث لكن دون اسم اي انه سيقبل اي Procedure باي اسم شرط :
1- ان يحمل نفس البرامترات
2- ان ينتمي الى كلاس
الذي تشاهده اعلاه ما هو الا مؤشر لدالة كما قلت دلفي حريص على اخفاء تعاملك بالمئشرات لذلك يمكنك اختباره مع الـ nil لمعرفة ان تم اسناد الحدث
بالتوفيق
كل ما يمكن تنفيذه زمن التصميم يمكن تنفيده زمن التشغيل و العكس غير صحيح
هذه طريقة يمكن التعديل عليها لتلبي حاجاتك
PHP كود :
private
procedure MyEvent(Sender: TObject);
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
Button: TButton;
begin
Button := TButton.Create(Self);
Button.Caption := 'Test';
Button.Name := 'Test';
Button.Parent := Form1;
Button.Top := 20;
Button.Left := 20;
Button.OnClick := MyEvent;
end;
procedure TForm1.MyEvent(Sender: TObject);
begin
ShowMessage('test');
end;
احيلك الى الموضوع لتفهم اكثر حول Parent و ٍ Self
الحدث OnClick هو من النوع TNotifyEvent اذا تتبعت النمط تجده معرف كالتالي :
PHP كود :
TNotifyEvent = procedure(Sender: TObject) of object;
لاحظ انه تم تعريف برامترات الحدث لكن دون اسم اي انه سيقبل اي Procedure باي اسم شرط :
1- ان يحمل نفس البرامترات
2- ان ينتمي الى كلاس
الذي تشاهده اعلاه ما هو الا مؤشر لدالة كما قلت دلفي حريص على اخفاء تعاملك بالمئشرات لذلك يمكنك اختباره مع الـ nil لمعرفة ان تم اسناد الحدث
بالتوفيق
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج

