|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
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 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Да вроде всё правильно...
Может, причина именно в символах транскрипции (то есть они добавляются в текстбокс, но не отображаются) Для проверки перед каждым End Sub добавьте строку msgbox len(Form1.Text1.Text) Ну а лучше прикрепите к сообщению Ваш проект - будет НАМНОГО проще разобраться... Да и вообще, код можно оптимизировать (а то у Вас слишком много одинаковых обработчиков событий) |
08.03.2009, 01:38 | #3 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
Дело в том, что при вводе более 20 символов через нажатие на кнопки формы, строка не смещается, поэтому и невидно последующих вводимых символов при вводе. Неудобно. Было бы идеальным если кнопкам на форме присвоить теже свойства, что у кнопок на компьютерной клавиатуре(при нажатии).
Последний раз редактировалось С.М.С; 08.03.2009 в 02:05. |
08.03.2009, 02:15 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Во-первых, у текстбокса можно установить свойство MultiLine в True, и увеличить размеры поля.
В этом случае текста влезет очень много (если добавить ещё вертикальную прокрутку) Во-вторых, можно после ввода каждого символа ставить курсор в конец текстбокса. В-третьих, проще всего установить свойство Alignment текстбокса в 1 (Right Justify) - выравнивание по правому краю. Тогда всегда будут видны последние введённые символы. |
08.03.2009, 02:30 | #5 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
А как осуществить "после ввода каждого символа ставить курсор в конец текстбокса."
|
08.03.2009, 02:35 | #6 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Например, так:
Код:
|
08.03.2009, 02:44 | #7 |
Участник клуба
Регистрация: 29.12.2008
Сообщений: 1,598
|
Отлично! Спасибо большое! То что надо!
|
08.03.2009, 13:51 | #8 |
Регистрация: 07.03.2009
Сообщений: 7
|
День добрый!
Как в Бейсике делать игры?
Почему я печатаю быстрее одиннадцатиклассников в шестом классе?Я просто не задумываюсь над тем, что печатаю.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по 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 |