View Full Version : نوشتن کد دستورهای رویداد های فرم در زمان اجرا
pezhvakco
شنبه 10 مهر 1389, 21:31 عصر
درود :
روشی برای نوشتن کد دستور رویداد های یک ابزار مانند فرم در زمان اجرا رو بدونم .
برای نمونه اگه بخوام در رویداد " OnKeyDown " برای فرم که در زمان ساخت هیچ دستوری نوشته نشده، کد دستور روبرو رو بنویسم روش کار چگونه است :
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 113 then
Close;
end;
پیشاپیش سپاس ...
Felony
شنبه 10 مهر 1389, 21:57 عصر
بارها این سوال پرسیده شده ، ابتدا باید یه روال با پارامترهای رویداد مورد نظر بنویسید ، مثلا در مورد OnKeyDown یه رویداد به شکل زیر :
procedure MyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
این رویداد رو به عنوان تعریف رویداد در بخش تعریف کلاس فرمتون باید اعلان کنید :
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
// My event
procedure MyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations}
public
{ Public declarations }
end;
حالا کافی هست روی این تعریف کلیدهای ترکیبی Ctrl + Shift + C رو بزنید تا رویداد ساخته بشه و تو رویداد کد مورد نظرتون رو بنویسید :
procedure TForm1.MyKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
ShowMessage('Event assigned');
end;
حالا برای اختصاص رویداد در زمان اجرا کافیه به صورت زیر عمل کنید ( مثلا تو یه دکمه ) :
Form1.OnKeyDown:= MyKeyDown;
موفق باشید .
Mahmood_M
شنبه 10 مهر 1389, 22:24 عصر
با حدود 3 سال فعالیت و داشتن بیش از 600 پست ، انتظار میره که قوانین سایت رو رعایت کنید ...
این موضوع چندین بار در سایت مطرح شده ، اگر جستجو می کردید زودتر به جواب می رسیدید :
http://barnamenevis.org/forum/showthread.php?t=204854
http://barnamenevis.org/forum/showthread.php?t=206751
http://barnamenevis.org/forum/showthread.php?t=183714
موفق باشید ...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.