الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أجعل الزر Enter يؤدي وظيفة Tab

مغلق
بدأه hid في 17 يونيو 2005 · 10 رد · 844 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف أجعل الزر Enter يؤدي وظيفة Tab

السلام عليكم...

كيف أجعل الزر Enter في لوحة المفاتيح يؤدي عمل Tab في الانتقال إلى العنصر التالي في الترتيب في البرنامج .

أي إذا ضغطت على Enter كأنك ضغطت على Tab

#2

انظر الى هذه المشاركة لابد أن تفيدك

http://www.arabteam2000.com/forums/index.php?showtopic=67890

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#3

ارجو ان يفيدك هذا الحل

 private
....
procedure CMDialogKey(var Msg: TWMKey); message CM_DIALOGKEY;


...


procedure TForm1.CMDialogKey(var Msg: TWMKey);
begin
  if not (ActiveControl is TButton) then
    if Msg.Charcode = 13 then
      Msg.Charcode := 9;
  inherited;
end;

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#4

اسف من المشاركة السابقة احذف سطر الخاص ب if

procedure TForm1.CMDialogKey(var Msg: TWMKey);
begin

   if Msg.Charcode = 13 then
     Msg.Charcode := 9;
 inherited;
end;

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#5

أخي الكريم ، الكود التالي سيحقق لك طلبك حتى مع Shift Key

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

begin

If Key = #13 Then Begin

If HiWord(GetKeyState(VK_SHIFT)) <> 0 then

SelectNext(Sender as TWinControl,False,True)

else

SelectNext(Sender as TWinControl,True,True);

Key := #0

end;

end;

// منقول عن أحد المواقع الأجنبية

#6
procedure TForm1.Edit1KeyPress (Sender: TObject; var Key: Char);
begin
If Key = #13 Then Begin
If HiWord(GetKeyState(VK_SHIFT)) <> 0 then
SelectNext(Sender as TWinControl,False,True)
else
SelectNext(Sender as TWinControl,True,True);
Key := #0
end;
end;

تم تعديل المشاركة

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#7

شكرا أخي romanof على توضيح مشاركتي ، فهذه كانت المرة الأولى التي أضيف فيها كود برمجي إلى المنتدى .

جزاك الله خير

#8

اهلا وسهلا بك في منتدى الدلفي اخي ابو ماجد إن شاء الله تواصصل دعمك النا

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#9

اهلا وسهلا بك في منتدى الدلفي اخي ابو ماجد إن شاء الله تواصل دعمك لنا

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#10

السلام عليكم...

طبعا بالنسبة لهذه الحالة فإن الطريقة التي قدمها الأخ رومانوف هي الأمثل, و فقط من أجل إغناء الفكرة سوف أضيف كيف يتم تحويل الأمر Enter إلى Tab بطرق أخرى من المكن أن تستفيد تطبيقها في حالات أخرى:

procedure ReturnAsTab;
begin
  keybd_event(VK_TAB,0,0,0);
  keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
end;

يمكن استدعاؤه ضمن الحدث :

procedure TForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  If Key = #13 Then
   ReturnAsTab;
end;

و بدل الكود المستخدم في الإجراء ReturnAsTab يمكن استخدام الكود التالي:

      PostMessage(Handle,WM_KEYDOWN,VK_TAB,0);
      PostMessage(Handle,WM_KEYUP,VK_TAB,0);

الشام الله حاميها...

أنا الدمشقيُّ.. لو شرحتمُ جسدي

لسـالَ منهُ عناقيـدٌ.. وتفـّاحُ

و لو فتحـتُم شراييني بمديتكـم

سمعتمُ في دمي أصواتَ من راحوا

مآذنُ الشّـامِ تبكـي إذ تعانقـني

و للمـآذنِ.. كالأشجارِ.. أرواحُ

#11

شكرا لكم أعزائي على إثرائكم العلمي الرائع ....

هذا الموضوع مغلق.

مواضيع مشابهة