PDA

View Full Version : سوال: تركيب كليدها



hrj1981
چهارشنبه 01 خرداد 1387, 13:33 عصر
دوستان با سلام
براي تركيب كليدهاي ALT و CTRL با ساير كليد ها چگونه بايد عميل كنيم
من از تركيب اسكي كدهاي آنها استفاده مي نمايم مثلا براي end و CTRL از كد زير استفاده مي كنم

2,35
ولي هر وقت كليد end را به تنهايي نيز اشاره مي كنم رويداد من رخ مي دهد!
مشكل به نظر شما از كجاست؟

bobrus
چهارشنبه 01 خرداد 1387, 14:18 عصر
شما توي فرم تو ايونت KeyPress اينو بنويس


If KeyCode = 35 Then MsgBox "ok"

H4i0 ACP
چهارشنبه 01 خرداد 1387, 14:22 عصر
سلام
از توابع APi استفاده کنین که در زمان لود شدن آرایه ای از کلید های فشرده شده رو بر می گردونه .
مثلا :
vbKeyControl
vbKeyEnd

vbhamed
چهارشنبه 01 خرداد 1387, 15:26 عصر
سلام

اينطوري


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If Shift = (vbCtrlMask Or vbAltMask) And KeyCode = vbKeyF1 Then

MsgBox "Ctrl + Alt + F1"

End If

End Sub



فقط پرانتزها تو دستور If يادت نره چون اونا باعث ميشن Or دو تا عبارت رو تركيب كنه

ali_habibi1384
چهارشنبه 01 خرداد 1387, 16:01 عصر
کد زیر رو ببینید:


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 6 And KeyCode = 35 Then MsgBox "Pres CTRL+ALT+End"
End Sub

وقتی کلید ctrl فشرده میشه مقدار 2 درون پارامتر shift خواهد رفت و وقتی دکمه alt فشرده میشه مقدار 4 درون پاراکتر shift میرود. بنابراین وقتی ctrl+alt فشرده میشه مقدار 4+2 یعنی 6 درون shift خواهد بود کافیست حالا شما توسط پاراکتر keycode کد دیگر کلیدها رو چک کنید.