PDA

View Full Version : سوال: کلید ترکیبی روی فرم



reza.raha
پنج شنبه 02 آذر 1391, 00:59 صبح
سلام دوستان.
من میخام در قسمتی از برنامه ام مثلا روی فرم اصلی وقتی کلید ترکیبی Alt+Shift+F میزنم فلان عمل رو انجام بده.فرضا یه command1 را از حالت visible=false به true تغییر دهم.
اگه کسی کد ش رو میدونه لطفا بگه.به همراه نحوه استفاده و تغییر کد.
ممنون.:تشویق::لبخندساده:

Abbas Amiri
پنج شنبه 02 آذر 1391, 01:16 صبح
از کدزیر استفاده کنید


' Set KeyPreveiw
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = acShiftMask + acAltMask Then
If KeyCode = Asc("F") Then
'AnotherControl.SetFocus
'MyControl.Visible = Not MyControl.Visible
End If
End If
End Sub

abas1388
پنج شنبه 02 آذر 1391, 17:42 عصر
از کدزیر استفاده کنید


' Set KeyPreveiw
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = acShiftMask + acAltMask Then
If KeyCode = Asc("F") Then
'AnotherControl.SetFocus
'MyControl.Visible = Not MyControl.Visible
End If
End If
End Sub

سلام جناب اميري!
بنده چند وقتي است كه دنبال يك كد براي غير فعال كردن كليد هاي تركيبي windows+d هستم ولي تاكنون موفق نشدم.
آيا جنابعالي راهكاري براي غير فعال كردن كليدهاي تركيبي فوق داريد ؟
با تشكر

mohsen2011a
پنج شنبه 02 آذر 1391, 19:53 عصر
سلام
1. ميخوام موقع تايپ عدد يك كليد (مثلا F12) سه صفر رو تايپ كنه
2. براي رفتن به تكست باكس بعدي بجاي Tab و Enter از + استفاده كنم
اگه راهنمايي كنيد ممنون ميشم

Abbas Amiri
پنج شنبه 02 آذر 1391, 20:48 عصر
بنده چند وقتي است كه دنبال يك كد براي غير فعال كردن كليد هاي تركيبي windows+d هستممتاسفانه در مقادیر ثوابت صفحه کلید ، کلید ویندوز تعریف نشده و احتمالا بایستی دنبال توابع API جهت این مورد باشید


. ميخوام موقع تايپ عدد يك كليد (مثلا F12) سه صفر رو تايپ كنه
2. براي رفتن به تكست باكس بعدي بجاي Tab و Enter از + استفاده كنماز کدهای زیر استفاده کنید

Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF12 Then
Text0 = Text0.Text & "000"
KeyCode = 0
Text0.SelStart = Len(Text0)
ElseIf KeyCode = vbKeyAdd Then
KeyCode = 0
AnotherControl.SetFocus
End If

البته در هنگامی که بروی کنترل Text0 قرارداشته باشید بعداز فشردن + به کنترل دیگر میروید و درصورتی که بخواهید ادر هرجای فرم که باشید این عمل انجام بشود ، بایستی کد مربوطه را در رویداد Form_KeyDown قرار دهید (خاصیت KeyPreview را Yes قراردهید)