![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Уделение изображения курсора из клетки StringGrid после ввода в к [D7, Win2k, WinXP]
Игорь Степанов © (2005-12-18 13:39:00)Уважаемые мастера,
Я использую StringGrid для ввода пользователем чисел. StringGrid работает в режиме Options goEditing=True.
При этом при переходе в колонке вниз от клетки к клетке в клетках, куда уже введено число остаётся изображение курсора. Этот дефект ничему не мешает, но хотелось бы от него избавиться. Вероятно, где-то надо записать метод StringGrid1.Refresh. Надо ли это делать в процедуре StringGrid1DrawCell или где-то в другом месте?
С уважением,
Игорь Степанов
sniknik (2005-12-21 16:12:00) [1]ну если это на нескольких компах подтвердилось, то может и ты там "руку приложил" гденибудь. (ошибка потихоньку перекочевывает в 17ю строку ;)
Игорь Степанов (2005-12-21 16:05:00) [2]Я сейчас перепробовал классическую и другие темы, но это не помогает.
Мой приятель на другом компьютере тоже обнаружил этот глюк, но реже, чем на моём.
Может быть в событии OnSelectCell добавить Refresh или Invalidate?
С уважением, Игорь Степанов
sniknik (2005-12-21 15:28:00) [3]так это и так работает без глюков. глюк есть (если подтвердилось с темой) в конкретной настройке твоей винды. (гдето чтото с caret-кой неладно) у других этого не должно быть.
Игорь Степанов (2005-12-21 14:07:00) [4]Уважаемые мастера,
Мне нужно, чтобы этого глюка не было не только на моём компьютере, а на любом компьютере любого пользователя, который будет работать с моей программой. Поэтому, подскажите, пожалуйста, как то, что вы предлагаете, сделать программным способом.
С уважением,
Игорь Степанов
sniknik (2005-12-20 18:23:00) [5]в XP это в свойствах экрана, можно правой кнопкой мыши по десктопу -> свойства -> первая вкладка "темы".
LORAN (2005-12-20 18:17:00) [6]Пускк-Настройка-Панель управления-Мышь
Выбери схему стандартная ( классическая)
Игорь Степанов (2005-12-20 18:03:00) [7]Какую тему в виндах?
Что это обозначает?
С уважением,
Игорь Степанов
sniknik (2005-12-20 11:08:00) [8]попробуй тему в виндах поменять на стандартную, или лучше на классическую. (видел глюк с курсором мыши на нестандартной теме... может аналогичное)
Игорь Степанов (2005-12-20 10:35:00) [9]Уважаемый Евгений,
Излагаю процесс ввода чисел пошагово.
После открытия формы со StringGrid столбик с клетками, куда следует вводить числа пока пустой. Никакого курсора нет. Щёлкаю на самой верхней клетке. В ней начинает мигать курсор. Ввожу число. Курсор продолжает мигать справа от числа. Мышкой щёлкаю на нижележащей клетке. В ней появляется мигающий курсор. Из вышележащей клетки иногда курсор исчезает, а иногда остаётся, но уже не мигает. И этот феномен наблюдается при вводе в нижележащие клетки.
Иными словами, точной закономерности нет. В чём причина, мне неясно.
С уважением, Игорь Степанов
jack128 (2005-12-18 14:25:00) [10]Игорь Степанов (18.12.05 13:39)
куда уже введено число остаётся изображение курсора
Что то не смог воспроизвести. Опиши пошагово чтоо нужно делать.
Игорь Степанов (18.12.05 13:39)
Вероятно, где-то надо записать метод StringGrid1.Refresh
Нет. метод Refresh вызывается вручную исключительно редко. Обычно вместот него вызывается Invalidate
Игорь Степанов (18.12.05 13:39)
Надо ли это делать в процедуре StringGrid1DrawCell
Нет, ни в коем случае. Это приведет в бесконечной рекурсии. Если твой глюк происходит при переходе от одной ячейке к другой, то вызывай Invalidate где нить в OnSelectCell