كيف أجعل الزر Enter يؤدي وظيفة Tab
السلام عليكم...
كيف أجعل الزر Enter في لوحة المفاتيح يؤدي عمل Tab في الانتقال إلى العنصر التالي في الترتيب في البرنامج .
أي إذا ضغطت على Enter كأنك ضغطت على Tab
كيف أجعل الزر Enter يؤدي وظيفة Tab
السلام عليكم...
كيف أجعل الزر Enter في لوحة المفاتيح يؤدي عمل Tab في الانتقال إلى العنصر التالي في الترتيب في البرنامج .
أي إذا ضغطت على Enter كأنك ضغطت على Tab
انظر الى هذه المشاركة لابد أن تفيدك
http://www.arabteam2000.com/forums/index.php?showtopic=67890
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
ارجو ان يفيدك هذا الحل
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;
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
اسف من المشاركة السابقة احذف سطر الخاص ب if
procedure TForm1.CMDialogKey(var Msg: TWMKey); begin if Msg.Charcode = 13 then Msg.Charcode := 9; inherited; end;
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
أخي الكريم ، الكود التالي سيحقق لك طلبك حتى مع 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;
// منقول عن أحد المواقع الأجنبية
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;
تم تعديل المشاركة
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
شكرا أخي romanof على توضيح مشاركتي ، فهذه كانت المرة الأولى التي أضيف فيها كود برمجي إلى المنتدى .
جزاك الله خير
اهلا وسهلا بك في منتدى الدلفي اخي ابو ماجد إن شاء الله تواصصل دعمك النا
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
اهلا وسهلا بك في منتدى الدلفي اخي ابو ماجد إن شاء الله تواصل دعمك لنا
أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر
وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري
كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو
أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري
عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري
فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري
السلام عليكم...
طبعا بالنسبة لهذه الحالة فإن الطريقة التي قدمها الأخ رومانوف هي الأمثل, و فقط من أجل إغناء الفكرة سوف أضيف كيف يتم تحويل الأمر 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);
الشام الله حاميها...
أنا الدمشقيُّ.. لو شرحتمُ جسدي
لسـالَ منهُ عناقيـدٌ.. وتفـّاحُ
و لو فتحـتُم شراييني بمديتكـم
سمعتمُ في دمي أصواتَ من راحوا
مآذنُ الشّـامِ تبكـي إذ تعانقـني
و للمـآذنِ.. كالأشجارِ.. أرواحُ
شكرا لكم أعزائي على إثرائكم العلمي الرائع ....
هذا الموضوع مغلق.