Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 11
от 16.02.2005, 05:00

Администратор:Калашников О.А. (adm@rusfaq.ru)
В номере:Вопросов: 2, Ответов: 4


Вопрос № 16866
Уважаемые эксперты! Как сделать, чтобы перемещение между TextBox (да и
другими элементами) осуществлялось не только клавишей TAB, но и стрелк
ами вниз, вверх, вправо, влево, Enter (дайте коды стрелок, код TAB=9,
Enter=13). В TextBox возникает проблема со стрелками - фокус должен пе
ремещаться, когда курсор находится на грани TextBox, а не где-то внутри
поля TextBox (тогда курсор перемещается просто для редактирования текс
та).
Отправлен: 10.02.2005, 19:12
Вопрос задал: Александр А.А. (статус: Читатель)
Всего ответов отправлено: 2

Отвечает: Licvidator
Здравствуйте, Александр А.А.!
Очень просто, Вам не нужно запоминать коды клавиш, ведь есть же встроенные константы!
См пример:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp, vbKeyDown, vbKeyRight, vbKeyLeft
If Text1.SelStart = Len(Text1) Then Text2.SetFocus
Case vbKeyTab, vbKeyReturn
Text2.SetFocus
End Select
End Sub

К тому же, что Вам мешает написать MsgBox KeyAscii в соответсвующую процедуру и получить код нажатой клавиши? Кстати, функциональные клавиши (F1, например) этой ф-ией не обрабатываются.
PS Прочитайте личное сообщение, когда войдете на портал русфака.
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 10.02.2005, 23:29

Отвечает: Miklucho
Здравствуйте, Александр А.А.!
Вот говорят же, повторенье - мать ученья. Функция chr(целое число >255>) вовращает символ по его коду, а наоборот не помню как функция называется, ну не пользуюсь я ею. То ли asc(), то ли еще как, короче поищи в браузере объектов сначало chr(), они там рядом должны быть. Если хошь могу выслать прогу собственного изготовления для определения кодов клавиш, только адрес вышли на mkop_@rambler.ru
На грани ТекстБокса - это то есть после последнего символа? Используй тогда событие Change, просчитывай в нем длину введенного текста в Текстбоксе и сравнивай эту длину с положением курсора в окошке (свойства текстового окна начинающиеся на Sel...тебе помогут (бейсика под рукой нет,а на память не помню)), если они равны значит курсор находится в конце строки.
Ответ отправил: Miklucho (статус: Студент)
Отправлен: 15.02.2005, 09:19


Вопрос № 16879
Уважаемые эксперты! Можно ли сделать ОДНОЙ процедурой или как (?), чтобы при получении фокуса во всех TextBox менялся BackColor, чтобы не делать для каждого TextBox изменение BackColor персонально при получении и потере фокуса (просто их очень много у меня).
Отправлен: 11.02.2005, 01:08
Вопрос задал: Александр А.А. (статус: Читатель)
Всего ответов отправлено: 2

Отвечает: Licvidator
Здравствуйте, Александр А.А.!
Да, можно. Присвойте каждому Текстбоксу параметр Tag с к.-л. значением (одинаковый для всех), например "textbox" и используйте след. код:

For ind = 0 To Me.Controls.Count - 1
If Me.Controls(ind).Tag = "textbox" Then
Me.Controls(ind).BackColor = &H8000000F
End If
Next
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 11.02.2005, 08:27

Отвечает: Miklucho
Здравствуйте, Александр А.А.!
Конечно можно, надо в качестве параметра передать процедуре имя объекта, а вот это как раз я не знаю как сделать, т.е. присвоить это имя некоторой переменной не получиться.
Ответ отправил: Miklucho (статус: Студент)
Отправлен: 15.02.2005, 10:12


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Отписаться

В избранное