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

مشكلة في الحدث OnkeyDown

مغلق
بدأه asrocks في 23 مارس 2006 · 6 رد · 743 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سؤال حول الحدث OnkeyDown

أي عندما أضع الكود التالي على حدث FormKeyDown

if key=VK_UP then close

أريد أن ينفذ عند النقر على زر معين

حاولت كثيراً بإستخدام الخاصية form1.OnKeyDown على الزر

و لكن تحتاج إلى برمترات عديدة فأرجو الإجابة

و السلام..........

#2

اقرأ ال Help يا اخي هناك شرح واسع عنها و ما هي البامترات و هناك امثلة

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

يعني قصدك تريد عند النقر على الزر ينفذ الكود اللي في FormKeyDown

#4

هذا هو المطلوب ياعزيزي hazem_3332000.

#5

امل ان يفيدك هذا

case Key of
        VK_RETURN : begin
                        Key := 0;
                        Perform(WM_NEXTDLGCTL,0,0);
                        Key := 0;
                    end;
        VK_ESCAPE : begin
                          Key := 0;
                          if ActiveControl is TRzComboBox then
                          begin
                             Perform(WM_NEXTDLGCTL,0,0);
                          end
                          else
                                btnCloseClick(self);
                        end;
        VK_F2     : begin
                        Key := 0;
                        btnSaveClick(self);
                        Key := 0;
                    end;
        VK_F3     : begin
                        Key := 0;
                        btnClearClick(self);
                        Key := 0;
                    end;
    end;
#6

توجد خاصية اخرى وهي OnKeyPress

الفرق بينها و بين OnKeyDown بأن OnkeyDown يتم تنفيذها عند الضغط على المفتاح وحين رفع الضغط عن المفتاح من الممكن تنفيذ الحدث OnKeyUp

جرب كتابة الكود في الحدث OnKeyDown

If key=vk_return then
Form1.cloro:=clred;

وكتابة الكود في الحدث OnKeyUp

if key=vk_return then
Form1.Color:=Clbalck;

جرب تنفيذ البرنامج بالضغط على مفتاح الادخال لفترة وانظر النتيجة.

يمكنك استخدام الحدث OnKeyPress وهو شبيه بالاحداث السابقة ولكن على ما اعتقد بانه لايمكن معه تنفيذ امر عند الضغط على الزر وآخر عند افلات الزر ويكون تعريف المفتاح عن طريق الرمز الخاص به وليسي عن طريق اسمه جرب كتابة الكود اتي ي الحدث OnKeyPress:

if key=#13 then
Form1.color:=clRed;

نفذ واضغط على مفتاح الادخال

#7

ارجو أن تستفيد من هذا المثال وفقك الله

keydown.zip

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

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