Не выводит кодя нажимаемых символов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ramauf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 03.08.2003 (Вс) 21:10
Откуда: Кумертау

Не выводит кодя нажимаемых символов

Сообщение Ramauf » 17.11.2006 (Пт) 17:33

При нажатии клавиши вправо, влево, вверх, вниз и энтер не работает
Код: Выделить всё
Private Sub Button1_KeyDown(KeyCode As Integer, Shift As Integer)
Button1.Caption = CStr(KeyCode)
End Sub

А все остальные работают. Что можно сделать?

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.11.2006 (Пт) 17:45

ЛОЛ. Дело в том, что в большинстве шрифтов этих символов просто нет.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.11.2006 (Пт) 18:10

ЛОЛ. Он-то выводит не символ, а код.
Изображение

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.11.2006 (Пт) 18:15

Это ясно, что там scan-code, не переведённый ещё через TranslateMessage. Но дело в том, что для chr(13) показывают, обычно, квадрат. А стрелки я видел лишь в каком-то символьном шрифте.
Изображение

Ramauf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 03.08.2003 (Вс) 21:10
Откуда: Кумертау

Сообщение Ramauf » 17.11.2006 (Пт) 19:05

Можно даже не выводить ни код, ни символ, но должно работать при нажатии на стрелки и на ентер. Может есть другие способы?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.11.2006 (Пт) 19:11

_KeyPress

Ramauf
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 03.08.2003 (Вс) 21:10
Откуда: Кумертау

Сообщение Ramauf » 17.11.2006 (Пт) 19:59

Код: Выделить всё
Private Sub Button1_KeyPress(KeyAscii As Integer)
If KeyAscii = KeyCodeConstants.vbKeyLeft Then Button1.Caption = "asda"
End Sub

Не работает.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.11.2006 (Пт) 20:18

Наврал я. Ни событие KeyPress, ни KeyDown для кнопки не приходят по нажатию Enter, Left, Right и других подобных.
Это связано с переходом фокуса с кнопки на соседние по нажатию Left, Right и др. (у текстбокса, например, все события работают).

Остается только сабклассить?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.11.2006 (Пт) 20:55

keks-n писал(а):Но дело в том, что для chr(13) показывают, обычно, квадрат.

Где ты увидел chr? :shock:
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 86

    TopList