![]() |
|
كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ (/showthread.php?tid=5611) |
كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - karika2 - 06-10-2013 عند أضافة اى شئ أتحكم بة من خلال لوحة المفاتيح مثلاّ عند اضافة labelوضغط زر الايمن للسهم يتحرك label الى الايمن وكذلك الى الايسر والى أعلى والى أسفل VK_RIGHT: VK_LEFT: VK_DOWN: VK_UP: كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - makhlouf - 06-10-2013 السلام عليكم و رحمة الله تعالى و بركاته: أخي جرب هذا المثال لعله ينفعك:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
بالتوفيق
Shift: TShiftState); begin if key=VK_RIGHT then label1.Left:=label1.Left+10; if key=VK_LEFT then label1.Left:=label1.Left-10; if key=VK_UP then label1.top:=label1.top-10; if key=VK_DOWN then label1.top:=label1.top+10; end; كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - karika2 - 06-10-2013 اخى ظهرلى أخطاء Build [COLOR="Red"] [Error] Unit1.pas(25): Undeclared identifier: 'FormKeyDown' [Error] Unit1.pas(25): ';' expected but '(' found [Error] Unit1.pas(26): ';' expected but ')' found [Error] Unit1.pas(29): Undeclared identifier: 'label1' [Error] Unit1.pas(29): Missing operator or semicolon [Error] Unit1.pas(31): Missing operator or semicolon [Error] Unit1.pas(31): Missing operator or semicolon [Error] Unit1.pas(33): Missing operator or semicolon [Error] Unit1.pas(33): Missing operator or semicolon [Error] Unit1.pas(35): Missing operator or semicolon [Error] Unit1.pas(35): Missing operator or semicolon [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas' [/COLOR] كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - SMP3 - 06-10-2013 اختر Object Inspector ثم Event ثم OnKeyDown ![]() ثم ضع الكود التالي : PHP كود : //makhloufكيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - karika2 - 06-10-2013 اها... كان لازم أضعة فى الحدث KeyDown ..شكراّ جزيلاذ لك أخى. ولكن هل يمكن أن تزيد من البيت شعراّ..**** أستخدم قاعدة if عند وصول label لنقطة معينة فى الفورم يتحقق then الامر. كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - SMP3 - 06-10-2013 karika2 كتب :اها... PHP كود : if Label1.Left=SomeValue then كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - makhlouf - 06-10-2013 السلام عليكم و رحمة الله تعالى و بركاته: شكرا جزيلا اخي smp3 و بارك الله فيك و زادك علما نافعا شكرا على مجهوداتك القيمة كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - karika2 - 07-10-2013 شكرا أخى .. وعارف انى ثقلت عليك بكثرة أسئلتى.. if Label1.Left=SomeValue then if Label1.Left=100 then . كنت ****ة أن أجعلة فى نقطة محددة بمعنى أن 100 بتمثلى الخط الافقى ... **** أن أظبط النقطة عند الخط العمودى واليك صورة للتوضيح.. كود : http://www13.0zz0.com/2013/10/07/18/755725914.jpgكيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - makhlouf - 08-10-2013 السلام عليكم و رحمة الله تعالى و بركاته: أخي أفقيا تعامل مع الخاصية: Label1.Left أما عموديا فتعامل مع الخاصية: label1.top مثل:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if key=VK_RIGHT then begin label1.Left:=label1.Left+10; if label1.Left>300 then label1.Left:=300 end; if key=VK_LEFT then begin label1.Left:=label1.Left-10; if label1.Left<100 then label1.Left:=100 end; if key=VK_UP then begin label1.top:=label1.top-10; if label1.Top<100 then label1.Top:=100; end; if key=VK_DOWN then begin label1.top:=label1.top+10; if label1.Top>300 then label1.Top:=300; end; end; في المثال تتحرك صعودا و نزولا يمينا و شمالا في مساحة بين 100 و 300 و انت غير كما شئت بالتوفيق كيف أتحكم فى المكون من خلال لوحة المفاتيح..؟ - karika2 - 04-02-2014 شكراّ لكم جميعاّ دائماّ أستفاد من خبراتكم العالية ::: |