View Full Version : مبتدی: اجراي دستورات رويدادهاي فرم توسط دكمه
Majid.Ebru
شنبه 02 مرداد 1389, 15:59 عصر
سلام
من توي رويداد onclose فرم ( والبته در حالت كلي ، در تمام رويدادهاي يك فرم ) يك سرس دستورات نوشتم . حالا مي خوام تمام اين دستورات اين رويداد ، توسط يك كليد هم انجام بشه اما هميشه خطا مي ده.لطفاً كمك كنيد.
با تشكر
bootshow
شنبه 02 مرداد 1389, 16:07 عصر
این جور کارها رو باید توی توابع بنویسی و در رویدادهای مختلف توابع را صدا بزنی
ولی روش زیر جواب میده
procedure TForm1.Button1Click(Sender: TObject);
begin
Button2Click(Sender);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage('Hello World!');
end;
Majid.Ebru
شنبه 02 مرداد 1389, 16:40 عصر
فرمايش شما درست.
اما نميشه.مثلا توي رويداد onclose فرم من نوشتم :
Action : = caFree ;
حالا من مي خوام توي رويداد دكمه هم اين كار انجام بشه .اما مشكل دارم. با self و sender هم جواب نمي ده.
با تشكر
mofrad
شنبه 02 مرداد 1389, 17:14 عصر
فقط کافیه توی رویداد onclick دکمه مورد نظر خود دستور Close را فراخوانی کنید. همین!:لبخند:
bootshow
شنبه 02 مرداد 1389, 21:47 عصر
برای بعضی از رویدادها که یک خروجی را برمیگردانند نمیشه مستقیم یک رویداد را فراخوانی کرد.
برای فرخوانی رویداد onclose باید از Form1.close استفاده کنی تا اوتوماتیک رویداد onclose فراخوانی بشه.
برای کلیک روی دکمه مثلا button1.click
و کلا باید از تابع SendMessage و هندل کنترلی که میخواهی رویدادش فرواخوانی بشه ، استفاده کنی.
مثلا رویداد keyprees کنترل editbox
SendMessage(Edit1.Handle,WM_CHAR,ord('G'),0)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.