Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2009, 01:06   #1
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию Вопрос по Visual Basic 6.

Доброй ночи! Подскажите решение вопроса! На форме расположены кнопки, подписанные символами транскрипции английского языка, а также элемент textbox. Элемент text заполняется с помощью нажатия на кнопки формы. т.е

Private Sub Command1_Click()
Dim tranc As String
tranc = Form1.Text1.Text
Form1.Text1.Text = tranc & Command1.Caption
End Sub

Private Sub Command2_Click()
Dim tranc As String
tranc = Form1.Text1.Text
Form1.Text1.Text = tranc & Command2.Caption
End Sub

Private Sub Command3_Click()
Dim tranc As String
tranc = Form1.Text1.Text
Form1.Text1.Text = tranc & Command3.Caption
End Sub

и.т.д

так вот после заполнения поля text1 символами, текст не смещается в право, т.е при дальнейшем наборе таким методом невидно вновь вводимых символов, как к примеру если бы текст вводился с помощью обычной клавиатуры.
Подскажите, что можно придумать.
С.М.С вне форума Ответить с цитированием
Старый 08.03.2009, 01:14   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Да вроде всё правильно...
Может, причина именно в символах транскрипции (то есть они добавляются в текстбокс, но не отображаются)

Для проверки перед каждым End Sub добавьте строку
msgbox len(Form1.Text1.Text)

Ну а лучше прикрепите к сообщению Ваш проект - будет НАМНОГО проще разобраться...
Да и вообще, код можно оптимизировать (а то у Вас слишком много одинаковых обработчиков событий)
EducatedFool вне форума Ответить с цитированием
Старый 08.03.2009, 01:38   #3
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

Дело в том, что при вводе более 20 символов через нажатие на кнопки формы, строка не смещается, поэтому и невидно последующих вводимых символов при вводе. Неудобно. Было бы идеальным если кнопкам на форме присвоить теже свойства, что у кнопок на компьютерной клавиатуре(при нажатии).
Вложения
Тип файла: rar Новая папка.rar (1.2 Кб, 10 просмотров)

Последний раз редактировалось С.М.С; 08.03.2009 в 02:05.
С.М.С вне форума Ответить с цитированием
Старый 08.03.2009, 02:15   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Во-первых, у текстбокса можно установить свойство MultiLine в True, и увеличить размеры поля.
В этом случае текста влезет очень много (если добавить ещё вертикальную прокрутку)

Во-вторых, можно после ввода каждого символа ставить курсор в конец текстбокса.

В-третьих, проще всего установить свойство Alignment текстбокса в 1 (Right Justify) - выравнивание по правому краю.
Тогда всегда будут видны последние введённые символы.
EducatedFool вне форума Ответить с цитированием
Старый 08.03.2009, 02:30   #5
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

А как осуществить "после ввода каждого символа ставить курсор в конец текстбокса."
С.М.С вне форума Ответить с цитированием
Старый 08.03.2009, 02:35   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Например, так:
Код:
Private Sub Text1_Change()
     Me.Text1.SelStart = Len(Me.Text1.Text)
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 08.03.2009, 02:44   #7
С.М.С
Участник клуба
 
Аватар для С.М.С
 
Регистрация: 29.12.2008
Сообщений: 1,598
По умолчанию

Отлично! Спасибо большое! То что надо!
С.М.С вне форума Ответить с цитированием
Старый 08.03.2009, 13:51   #8
Малый Програмист
 
Регистрация: 07.03.2009
Сообщений: 7
По умолчанию

День добрый!
Как в Бейсике делать игры?
Почему я печатаю быстрее одиннадцатиклассников в шестом классе?Я просто не задумываюсь над тем, что печатаю.
Малый Програмист вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Visual Basic 6 pro С.М.С Помощь студентам 1 16.01.2009 11:32
Вопрос по API Visual Basic С.М.С Помощь студентам 2 09.01.2009 12:45
Вопрос по Visual Basic Иллидан Помощь студентам 3 20.04.2008 13:08