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

كيفية تنفيذ عملية عند الضغط على ALT+X

مغلق
بدأه byte-finder في 14 مايو 2007 · 13 رد · 838 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم

ممكن سوال صغير وهوة

كيف انفذ عملية عند الضغط على مفتاحي ALT+X يعني مثلا التنقل بين الفورم من فورم واحد الى فورم اثنين عندما اضغط

على ALT+X مع امكاني تغيير المفتاح Xمن خلال تيكست بوكس موضوع على الفورم يعني قصدي اغير المفتاح من Xالى

الحرف S لتنفيذ العملية المطلوبة ليصبح ALT+S

اذا ممكن التعديل على المرفق

واكون جدا ممتن

وشكرا

alt.zip

#2

تم الشرح بالرد القادم

alt.rar

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#3

يمكنك عمل هذا من خلال اضافة العلامة & قي الخاصية Caption لأي كنترول قبل الحرف المراد الضغط عليه مع ALT

e.x

&File

OR

E&xit

فتح ملف جديد بواسطة زر اسمه File والخاصية Caption = &File يتم الضغط علي ALT + F

عند اغلاق البرنامج الامر موجود تجت الزر Exit Caption = E&xit يتم الضغط علي ALT + X

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#4

مشكور اخي ولكن ليس قصدي التنفيذ من خلال الكوماند بتن ولكن من خلال الفورم

وكما وضحت لك يا اخي يمكن للمستخدم تغيير مفاتيح العملية من خلال التيكست بوكس وهوة هذا قصدي

واشكرك مرة اخرى على تعاونك معي

#6

عفواً حيث كنت اعتقد انك تعرف تعمل تغير خاصية الاسم

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#7

السلام عليكم أخي byte-finder

إذا كنت قد فهمت جيدا فهذا قد ينفع وإلا فقم بالشرح من جديد وكما قيل

وحدة وحدة لان طريقة السؤال غير مقهومة شوي

هل تعرف كيف تفعل ذلك وتريد الامر الذي يجعلها تعمل مع الفورم أو ماذا

وهل تعرف الاحداث (Events)

(keyup keypress keydown)

(mouseup mousemove mousedown)

المهم آمل أن يفيدك المرفق

واعلم أن لاامر لن ينفذ إلا إذا كان التركيز في text1

وآمل أن نجد الحل

alt.rar

#8
Option Explicit
   Private Const VK_MENU As Long = &H12
   Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

   Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = vbKeyX Then
	   If GetKeyState(VK_MENU) And &HF0000000 Then MsgBox "Alt + X"
   End If

   If KeyCode = vbKeyS Then
	   If GetKeyState(VK_MENU) And &HF0000000 Then MsgBox "Alt + S"
   End If

   If KeyCode = vbKeyA Then
	   If GetKeyState(VK_MENU) And &HF0000000 Then MsgBox "Alt + A"
   End If
   End Sub

تم تغيير التعديل راجع المشاركة 9 و 11 , هام أيضا : أضبط خاصية KeyPreview على True

اقتباس
التعديل القديم كان بوضع :

Call Form_KeyDown(KeyCode, Shift)

بحدث الـ KeyDown لكل الأدوات اللتى تستقبل حدث الـ Focus , شكرا للأخ micheal R jordan على لفت نظرى لأنها غير عملية فتذكرت الـ KeyPreview

تم تعديل هذه المشاركة بواسطة msayed2004 في 15 مايو 2007 في 13:46

#9

حسن أخي كان ذلك سريعا في الحقيقة كنت أظن أن هناك طريقة أخرى

لأنه لو افترضنا أنك من محبي command

ولا تحب كثيرا menu إذا ستكتب

Call Form_KeyDown(KeyCode, Shift)

فلنقل n مرة والله يعلم كم

وستكون دائما Clipboard تحمل

Call Form_KeyDown(KeyCode, Shift)

وفي كل مرة عليك بلصقها

حسنا أخي لقد قلت

إذا كنت ستستخم هذه الطريقة هل هناك طريقة أخرى

#10

إذا كان التحكم عن طريق عنصر ،فده أسهل:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If (Shift And vbAltMask) And KeyCode = 88 Then MsgBox "Alt + X"
End Sub
#11

أخ micheal R jordan معاك حق , يكفى جعل خاصية Keypreview على True عفوا نسيتها و سأعدل ملاحظتى السابقة , شكرا.

#12

شكرا أخي sayed200 كان تلك مساعدة قيمة والله

وهنا رابط يشرح هذا الموضوع ولو شرحا بسيطا

Keypreview

وهو موقع جيد شيئا ما

#13

سلام عليكم

ماشاء الله على تعاونكم الجميل معي

الفكرة وصلت وافادتني كثيرا جداا

واشكر الجميع على تعاونكم معي وبارك الله فيكم

#14

لا عليك يا أخي فالله في عون العبد مادام العبد في عون أخيه

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

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