edit text
#1
السلام عليكم ورحمة الله

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

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

والسلام عليكم
الرد
#2
و عليكم السلام عليكم و رحمة الله

لقبض الزر المضغوط بالحدث 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;

و بالتوفيق
الرد
#3
شكرا علي سرعة الرد وبارك الله فيك أخي
الرد
#4
السلام عليكم
طريقة أخرى...
اضبط KeyPreview للـ TForm على True، ثم في OnKeyDown أكتب:
PHP كود :
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  
Shift: TShiftState);
begin
  
if Key = VK_RETURN then
    SelectNext
(ActiveControl, True, True);
end; 
مفيدة حالة وجود الكثير من الـ Controls.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم