PDA

View Full Version : سوال: دادن کار به اینتر



joooje
سه شنبه 13 اردیبهشت 1390, 12:20 عصر
چه طور میتونم به فرم برنامه این دستور رو بدم که وقتی کاربر توی اون اینتر زد یه کار خاص رو انجام بده
الان این کد رو نوشتم



procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
ShowMessage('Enter Key Pressed');
end;
end;


ولی تنها وقتی توی یکی از ادیت باکسها اینتر رو میزنم مسیج رو نشون میده
من میخوام کار اینتر برای کل فرم باشه
ممنون

SAASTN
سه شنبه 13 اردیبهشت 1390, 12:45 عصر
همین امروز آقای Mahmood_N کدی شبیه به این برای غیر فعال کردن MouseDown (http://barnamenevis.org/showthread.php?285443-%D8%BA%DB%8C%D8%B1-%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-MouseDown) قرار دادن، در مورد Enter این شکلی میشه:
یه TApplicationEvents روی فرم قرار بدین و برای OnMessageش بنویسید:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and (Msg.wParam = VK_RETURN) then
ShowMessage('Hello');
end;

یوسف زالی
سه شنبه 13 اردیبهشت 1390, 12:45 عصر
یه دکمه بذار رو فرم که کدت توش باشه.
default اون رو true کن.
visible اون رو هم false کن.
اون وقت هرجا enter بزنی درست میشه.

tdkhakpur
سه شنبه 13 اردیبهشت 1390, 12:46 عصر
یک دونه ApplicationEvents رو یفرم قرار بئه و اونجا این کنترل رو انجام بده.


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message=WM_KEYDOWN) and (Msg.wParam=13) then
ShowMessage('that,s me');
end;

یوسف زالی
سه شنبه 13 اردیبهشت 1390, 13:00 عصر
visible رو false نکن.
width و height رو صفر کن.