Чтобы только цифры в текстбокс можно было писать

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Чтобы только цифры в текстбокс можно было писать

Сообщение MOV » 19.06.2006 (Пн) 10:03

Блин знаю, что ерунда, но так влом писать :D
Савсем разленился и в формуе не нашел подходящей темы
Деградация :lol:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 19.06.2006 (Пн) 10:11

Ну что ж... развивайся заново ;)

Смотри событие TextBox_KeyPress
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.06.2006 (Пн) 10:11

В порядке убывания "красивости".

1) Стиль окна ES_NUMBER плюс сабклассинг на вставку текста (WM_PASTE).
2) Фильтр символов при KeyPress/KeyDown. С обнулением кода клавиши.
3) Фильтр символов при Change. С изменением Text.

Проверка на наличие цифр - см. Like.
Моду создают модоки, а распространяют модозвоны.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 19.06.2006 (Пн) 10:16

hCORe писал(а):В порядке убывания "красивости".

2) Фильтр символов при KeyPress/KeyDown. С обнулением кода клавиши.
Там тоже Change смотреть надо, а то эти гады юзеры не съедят, так понадкусывают :) В данном случае скопипакостят :)
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.06.2006 (Пн) 10:26

Дык, это... Можно Ctrl+V, Shift+Ins в KeyDown ловить... Проверять на правильности и при случае обрубать ручки (KeyCode=0)
Моду создают модоки, а распространяют модозвоны.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 19.06.2006 (Пн) 10:27

А меню выводить свое... Хотя нет, легче сабклассить WM_PASTE.
Моду создают модоки, а распространяют модозвоны.

bayasaa
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 93
Зарегистрирован: 13.08.2005 (Сб) 11:57
Откуда: Mongolia

Сообщение bayasaa » 19.06.2006 (Пн) 10:36

Код: Выделить всё
Public Sub OnlyNum(ByRef strAscii As Integer)
'Strict limitations. Non-digital keys converted to 0
Select Case strAscii
Case Asc("0") To Asc("9")
    'Do nothing
Case vbKeyBack
    'do nothing
Case Else
    strAscii = 0
End Select
End Sub

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.06.2006 (Пн) 10:43

bayasaa
Как всегда, не прочитал топик и запостил?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

ACiD
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 261
Зарегистрирован: 10.12.2005 (Сб) 2:29
Откуда: г. Санкт - Петербург

Сообщение ACiD » 20.06.2006 (Вт) 21:35

Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= 48 And KeyAscii <= 57) Then
KeyAscii = 0
Text1.Text = Text1.Text
End If
End Sub

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.06.2006 (Вт) 23:00

ACiDXX, это что за поток сознания?
Про Backspace забыл? Не говоря уж о том, что Text1.Text = Text1.Text понятен только постигшим Дао.
Lasciate ogni speranza, voi ch'entrate.

ACiD
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 261
Зарегистрирован: 10.12.2005 (Сб) 2:29
Откуда: г. Санкт - Петербург

Сообщение ACiD » 21.06.2006 (Ср) 6:14

_
Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 Or KeyAscii = 10 Or KeyAscii = 13) Then KeyAscii = 0
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 62

    TopList