View Full Version : از کار انداختن کلید Shift
hr0694
شنبه 29 مرداد 1390, 03:40 صبح
سلام
چگونه میتوانم کلید Shift را غیر فعال و از کار بیندازم
setroyd
شنبه 29 مرداد 1390, 13:53 عصر
تو محیط vb ؟؟
تو keyup ,down تعریف کن که اگه کلید فشرده شد keycode =0 و shiftesh .
hr0694
دوشنبه 31 مرداد 1390, 03:19 صبح
من خوب متوجه نشدم مثلا من یک Text روی Form دارم دقیقا چه کدی بنویسم و چه رویدادی را انتخاب کنم که دکمه Shift از کار بیفته کدش را اگر میشود دقیقا واسم بنویسید
setroyd
دوشنبه 31 مرداد 1390, 05:34 صبح
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 16 Then KeyCode = 0
If Shift = 1 Then Shift = 0
End Sub
setroyd
دوشنبه 31 مرداد 1390, 05:34 صبح
با api بهتره چون کاملا دست user رو میشه بست .
hr0694
سه شنبه 01 شهریور 1390, 13:04 عصر
سلام
جناب setroyd (http://barnamenevis.org/member.php?183390-setroyd) من دقیقاً همین کدی را که نوشتیدبرای Text1 نوشتم اما دکمه Shift برای Text1 از کار نیفتاد
محسن واژدی
سه شنبه 01 شهریور 1390, 13:38 عصر
سلام علیکم
قبلا" راجع به کامپوننت EventVB.dll توضیحاتی دادم، همچنین ضمیمه شد، اما اگر روش جناب setroyd (http://barnamenevis.org/member.php?183390-setroyd) عمل کرد بهتر است
موفق باشید
quiet_programmer
سه شنبه 01 شهریور 1390, 14:14 عصر
با سلام.
روی فرم یه تکس باکس بزار و کد زیر رو تو قسمت کد پیست کن. البته فقط برای حروف a تا z و A تا Z درست کار میکنه و برای بقیه کلیدها من KeyAscii رو صفر کردم که اصلا عمل نکنه. جالبه! امتحانش کن.
Dim ShKeyDowned As Boolean
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 1 Then
ShKeyDowned = True
Else
ShKeyDowned = False
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If ShKeyDowned = True Then
If (KeyAscii >= 65 And KeyAscii <= 90) Then
KeyAscii = KeyAscii + 32
ElseIf (KeyAscii >= 97 And KeyAscii <= 122) Then
KeyAscii = KeyAscii - 32
Else
KeyAscii = 0
End If
End If
End Sub
setroyd
سه شنبه 01 شهریور 1390, 15:34 عصر
در واقع کار این کد از کار انداختن نیست کاراکتر هارو با شیفت محدود میکنه . ولی کد خوبیه برای اینکه در یک محدوده استفاده بشه . ولی اگه کلا بخوای شیفت رو از کار بندازی باید از api استفاده کنی .
quiet_programmer
سه شنبه 01 شهریور 1390, 15:45 عصر
با سلام.
با api بهتره چون کاملا دست user رو میشه بست .
ولی اگه کلا بخوای شیفت رو از کار بندازی باید از api استفاده کنی .
هی میگه API، API!
خوب بابا این دستور API رو بزار مارو هم خلاص کن دیگه!
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.