Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then KeyAscii = 0
End Sub
Amed писал(а):Учим матчасть
- Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then KeyAscii = 0
End Sub
lister писал(а):Хм... Понял... Но тут тонкости есть...
Private Sub OnActiveControlKeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKeyReturn
KeyAscii = 0
SendKeys "{Tab}"
End Select
Private Sub Text1_KeyPress(KeyAscii As Integer)
OnActiveControlKeyPress (KeyAscii)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
if KeyAscii = vbKeyReturn Then KeyAscii = 0
OnActiveControlKeyPress (vbKeyReturn)
End Sub
lister писал(а):lister писал(а):Хм... Понял... Но тут тонкости есть...
У меня по энтеру навигация по контролам и в т.ч. по текстовым полям идет...
Andrey Fedorov писал(а):lister писал(а):lister писал(а):Хм... Понял... Но тут тонкости есть...
У меня по энтеру навигация по контролам и в т.ч. по текстовым полям идет...
Сам себе злой буратино.
Ибо не надо нарушать стандартного поведения компонентов на форме и изобретать собственные стандарты. На клавише Enter написано Enter, значит это должно быть Enter а не Tab.
P.S Серъезно - не пытайся реализовать DOS-овскую функциональность клавишь под Windows...
dima_C++ писал(а):ерунда.... что значит стандарты и кто их придумал....
Andrey Fedorov писал(а):dima_C++ писал(а):ерунда.... что значит стандарты и кто их придумал....
Вообще-то их придумал не я.
И во всех нормальных коммерческих продуктах их соблюдают.
Но ты, конечно, можешь изобрести свой лисапед... По Enter переходить на другое поле, по клавише Tab открывать ComboBox и сохранять по Escape... Твое право. Правда что подумают о таком программере...
dima_C++ писал(а):а что по-существу вопроса то функция SystemParametersInfo...
WM_SETFOCUS выключаешь
SystemParametersInfo(SPI_SETBEEP, 0, NULL, 0)
WM_KILLFOCUS воссатнавливаешь виндовую кликалку
SysTemparametersInfo(SPI_SETBEEP, 1, NULL, 0)
tyomitch писал(а):dima_C++ писал(а):а что по-существу вопроса то функция SystemParametersInfo...
WM_SETFOCUS выключаешь
SystemParametersInfo(SPI_SETBEEP, 0, NULL, 0)
WM_KILLFOCUS воссатнавливаешь виндовую кликалку
SysTemparametersInfo(SPI_SETBEEP, 1, NULL, 0)
Угу-угу.
А чтобы не маяться с десятичной запятой - SetLocaleInfo(LOCALE_SDECIMAL, ".")
А чтобы прога красивее выглядела - включим темы. И ещё фон на рабочий стол в тему своей проги поставим.
Мы ведь лучше юзера знаем, как у него должна быть система настроена, верно?
dima_C++ писал(а):Andrey Fedorov писал(а):dima_C++ писал(а):ерунда.... что значит стандарты и кто их придумал....
Вообще-то их придумал не я.
И во всех нормальных коммерческих продуктах их соблюдают.
Но ты, конечно, можешь изобрести свой лисапед... По Enter переходить на другое поле, по клавише Tab открывать ComboBox и сохранять по Escape... Твое право. Правда что подумают о таком программере...
гы а что обо мне подумает заказачик? мне хоть по пробелу, мне по-барабану.... а если серьезно то может понадабится такая штука при бустром монотонном набивании данных, сам делал....
PARTYzan писал(а):проще удали, точнее убери звук в настройках винды...
Сейчас этот форум просматривают: SemrushBot и гости: 145