PDA

View Full Version : سوال: از کار افتادن Ctrl +V و Ctrl + C



Hassan2500
جمعه 22 اردیبهشت 1391, 23:55 عصر
سلام

من این کد رو نوشتم که فقط این چهار حرف در تکست1 نوشته شوند اما Ctrl +V و Ctrl + C از کار افتادن کسی میتونه کد زیر رو اصلاح کنه که Ctrl +V و Ctrl + C هم کار کنند یعنی کلید ترکیبی کپی و پیست

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
If InStr("ابجد ", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub

sr2m72
شنبه 23 اردیبهشت 1391, 00:30 صبح
ببخشید داداش، قبلا منظورتون رو متوجه نشدم.
ولی حالا گرفتم.
بفرما:


Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
If InStr("ابجد ", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub

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

If Shift = vbCtrlMask And KeyCode = vbKeyV Then

Text1.Text = Text1.Text + Clipboard.GetText

ElseIf Shift = vbCtrlMask And KeyCode = vbKeyC Then

Clipboard.SetText (Text1.SelText)

End If

End Sub

Hassan2500
شنبه 23 اردیبهشت 1391, 00:36 صبح
الان همه چی درست شده ولی هنگام پیست کردن فوکوس به اول تکست میپره و وقتی هم میخوای وسط حروف چیزی رو پیست کنی آخر حروف پیست میشه اگه میشه اینا رو هم درست کنید

just4froum
شنبه 23 اردیبهشت 1391, 00:43 صبح
بفرمایید :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
If InStr("ÇÈÌÏ ", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = vbCtrlMask And KeyCode = vbKeyV Then
Text1.Text = Text1.Text + Clipboard.GetText
SendKeys "{end}"
ElseIf Shift = vbCtrlMask And KeyCode = vbKeyC Then
Clipboard.SetText (Text1.SelText)
End If
End Sub

Hassan2500
شنبه 23 اردیبهشت 1391, 00:49 صبح
الان تنها مشکل اینه که وقتی میخوای وسط حروف چیزی رو پیست کنی آخر حروف پیست میشه

sr2m72
شنبه 23 اردیبهشت 1391, 00:50 صبح
الان همه چی درست شده ولی هنگام پیست کردن فوکوس به اول تکست میپره و وقتی هم میخوای وسط حروف چیزی رو پیست کنی آخر حروف پیست میشه اگه میشه اینا رو هم درست کنید

بفرما، امیدوارم دیگه مشکل نداشته باشه:


Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then
If InStr("ÇÈÌÏ ", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub

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

If Shift = vbCtrlMask And KeyCode = vbKeyV Then

Text1.SelText = Clipboard.GetText

ElseIf Shift = vbCtrlMask And KeyCode = vbKeyC Then

Clipboard.SetText (Text1.SelText)

End If

End Sub


موفق باشید.



ویرایش شد.

Hassan2500
شنبه 23 اردیبهشت 1391, 01:01 صبح
ببخشید الان فقط هر جای تکست پیست میکنی فوکوس به آخر تکست میپره من میخام فوکوس همون جا که پیست شده باشه

sr2m72
شنبه 23 اردیبهشت 1391, 01:05 صبح
بازم متاسفانه مشکل پست5 برطرف نشد یعنی میخوام هر جا فوکوس بود اونجا پیست بشه

کد بالا ویرایش شد.

Hassan2500
شنبه 23 اردیبهشت 1391, 01:16 صبح
الان هم چیش درست شد دستتون درد نکنه که زحمتتون دادم