المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : edit text


abedroof2001
19-07-2010, 07:49 PM
السلام عليكم ورحمة الله

عندي أستفسار حول edit كيف يمكنني من تنفيد أمر عند الضغظ علي الزر enter
بمعنا بدلأ من أن أكتب الأمر في زر أدع المستخدم يكتب تم يضغط enter فيتنفد الأمر

وبنفس الطريقة عندما يضغط أنتر ينتقل edit2 والغرض من هذا هو تسهيل علي المستخدم الأنتقال من edit ألي أخر ويقلل من الأزرار داخل الفورم

والسلام عليكم

Lam.Abdeldjalil
19-07-2010, 08:05 PM
و عليكم السلام عليكم و رحمة الله

لقبض الزر المضغوط بالحدث Edit1KeyPress
الزر enter هو VK_RETURN

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

if (Key = Char(VK_RETURN)) then
begin
// أكتب التعليمات
end;

end;

للإنتقال إلى edit2

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin

if (Key = Char(VK_RETURN)) then
Edit2.SetFocus ;

end;

و هذا كود آخر مع إضافة نزع الرنين ( الصوت )

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
key := #0; // لنزع الطنين الصوت
edit2.SetFocus ;
end;
end;


و بالتوفيق

abedroof2001
19-07-2010, 08:30 PM
شكرا علي سرعة الرد وبارك الله فيك أخي

kachwahed
19-07-2010, 10:03 PM
السلام عليكم
طريقة أخرى...
اضبط KeyPreview للـ TForm على True، ثم في OnKeyDown أكتب:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_RETURN then
SelectNext(ActiveControl, True, True);
end;
مفيدة حالة وجود الكثير من الـ Controls.