Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как запретить вставку Ctrl+V в TextBox или ComboBox / 5 сообщений из 5, страница 1 из 1
18.01.2005, 04:41:20
    #32869009
Andre®®®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить вставку Ctrl+V в TextBox или ComboBox
В частности мне нужно чтобы юзер мог ввести в TextBox или ComboBox только цифры, как показано в коде, однако это меня не спасает от копирования и вставки букв.
Напишите кто знает как решить данный вопрос. Заранее благодарен.


Код: plaintext
1.
2.
3.
4.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim BkString As String
BkString$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz !@#$%^&*()_-+={}[],.\|/<>l;':""?'"
If InStr( 1 , BkString$, Chr(KeyAscii)) >  0  Then KeyAscii =  0 
End Sub
...
Рейтинг: 0 / 0
18.01.2005, 09:28:56
    #32869191
_bob
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить вставку Ctrl+V в TextBox или ComboBox
используй Text1_KeyDown(KeyCode As Integer, Shift As Integer)

------------------
Best regards, _bob
...
Рейтинг: 0 / 0
18.01.2005, 11:41:11
    #32869629
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить вставку Ctrl+V в TextBox или ComboBox
Andre®®®В частности мне нужно чтобы юзер мог ввести в TextBox или ComboBox только цифры, как показано в коде, однако это меня не спасает от копирования и вставки букв.
Напишите кто знает как решить данный вопрос. Заранее благодарен.


Код: plaintext
1.
2.
3.
4.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim BkString As String
BkString$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz !@#$%^&*()_-+={}[],.\|/<>l;':""?'"
If InStr( 1 , BkString$, Chr(KeyAscii)) >  0  Then KeyAscii =  0 
End Sub
Хуже того, при Locked = True можно сделать вставку из буфера, вот что по настоящему раздражает. Правда не на всех OS.
Лучше использовать другой контрол (3-х фирм), т.к. даже у Microsoft Masked Edit тоже проблемы с Copy/Paste
...
Рейтинг: 0 / 0
18.01.2005, 13:11:23
    #32869932
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить вставку Ctrl+V в TextBox или ComboBox
а если обрабатывать эвент "Object_Change"
должно вроде прокатить
...
Рейтинг: 0 / 0
19.01.2005, 16:11:54
    #32872786
Andre®®®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить вставку Ctrl+V в TextBox или ComboBox
Решение найдено, всем спасибо.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim BkString As String
BkString$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz !@#$%^&*()_-+={}[],.\|/<>l;':""?'"
If InStr( 1 , BkString$, Chr(KeyAscii)) >  0  Then KeyAscii =  0 
End Sub

Private Sub Text1_Change()
Call Revision
End Sub

Private Sub Revision()
If CStr(Val(Text1.Text)) <> Text1.Text And Text1.Text <> "" Then
Text1.Text = ""
End If
End Sub

'' Можно также для запрета Popup меню поставить
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'' вариант 1
'If Button = vbRightButton Then
'Text1.Locked = True
'Else
'Text1.Locked = False
'End If

'' вариант 2
'If Button = vbRightButton Then
'PopupMenu mnuFile, 2
'End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как запретить вставку Ctrl+V в TextBox или ComboBox / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]